Чекор по чекор
Почетни чекори со Java
Објектно оријентирани концепти во Јава - Прв дел
Објектно оријентирани концепти во Јава - Втор дел
Објектно оријентирани концепти во Јава - Трет дел
Јава сервлети - Прв дел
Единствен Јава објект (singleton)
Најчести 10 грешки што ги прават Java програмерите
повеќе...
Што е тоа ...
... IDE
... Tomcat
... објект?
... класа?
... наследување?
... интерфејс?
... наследување? (прашања и одговори)
повеќе...
За загревање
Нов проект во Eclipse?
Примитивни податочни типови
Променливи
Оператори
Доделувачки, аритметички и Unary оператори
Оператори за еднаквост, релации и услови
Изрази, искази и блокови
повеќе...
Како да ...
... конвертирам java.sql.Timestamp во java.util.Date
... зададам формат на датум
... ковертирам „long“ во HEX и обратно
... прочитам датотека и променам стринг
... креирам ZIP датотека
... поврзам Apache и Tomcat користејќи mod_jk
... пратам недефиниран број на атрибути до некоја метода
повеќе...
Java преку примери
new Socket(String addr,int port)
new URL(String address)
new URL(String protocol, String host, int port, String file)
CommPort: getInputStream()
CommPortIdentifier: getPortIdentifiers()
Statement: executeQuery(String sql)
Statement: getMaxRows()
повеќе...
Грешка
Нов напис
Рубрика:
Наслов:
  
  

страна број:123
Јава сервлети - Прв дел
Компајлирање на сервлет

Сите јава програми кои го компајлиравме до сега беа едноставни и секогаш се копајлираа (освен ако имало некоја синтаксна грешка). За жал, кога че пробаш да ја искомпајлираш класата MojServlet.java која ја креиравме во претходните страни ќе добиеш неколку „грозни“ пораки за грешки:

C:\javadev> javac MojServlet.java
MojServlet.java:2: package javax.servlet does not exist
import javax.servlet.*;
^
MojServlet.java:3: package javax.servlet.http does not exist
import javax.servlet.http.*;
^
MojServlet.java:5: cannot resolve symbol
symbol  : class HttpServlet
location: class MojServlet
public class MojServlet extends HttpServlet {
                              ^
...


Е сега, според мене најдобра тактика кога се има еден куп грешки е да се почне од најгорната бидејќи таа е можен причинител на наредниет грешки. Во овој случај, четирите „cannot resolve symbol“ грешки кои се во листата всушност се резултат на „package ..... does not exist“ грешките. Ако приметиш подетално ќе видиш дека компајлерот се буни кај двете „import“ команди кои ги користиме за да ги импортираме пакетите „javax.servet“ и „javax.servlet.http“. Бидејќи неможе да ги импортира тие пакети ние нема да можеме да искористиме ниту една класа која припаќа во тие пакети и на крај испаѓа дека грешката „cannot resolve symbol“ референцира до местото каде што ние пробуваме да искористиме некоја од тие класи.

Е сега доаѓаме до прашањето зошто неможе да ги најде тие два пакети? Причината е што тие два пакети не се вградени во Јава-та како што е java.io пакетот. Но затоа тие доаѓаат со веб серверите кои поддржуваат Јава сервлети (на пример Tomcat). Па затоа пред да може Јава компајлерот да го искомпајлира нашиот сервлет мораме да му кажеме каде тие се наоѓаат за да може да ги најде.

Бараните класи најчесто се сместени во датотека наречена servlet.jar. Точната локација на датотеката зависи од веб серверот кој го користиш, а во случај на Tomcat можетш да го најдеш во поддиректориумот „lib“ на директориумот во кој ти е инсталиран веб серверот (пример: C:\Program Files\Apache Group\jakarta-tomcat-5.5.25\lib\servlet.jar). За да Јава компјалерот биде во можност да компајлира сервлети мораш оваа датотека да ја додадеш во твојата патека до Јава класите (Java class path). Вообичаено ги бара класите во моменталниот директориум („.“). Ознаката „.“ е вообичаената патека до класите (class path). Доколку ја промениш патеката до класите (class path) и да и ја додадеш при компајлирање на ја вклучи и servlet.jar датотеката („.;c:\.....\lib\servlet.jar“ за MS Windows, „.:/usr/......./lib/servlet.jar“ во Linux/Unix) тогаш сервлетот ќе се искомпајлира без проблеми.

Патеката до класите (class path) можеш да ја додадеш и при извршувањето на javac.exe:

C:\javadev> javac -classapth ".;c:\Program Files\Apache Group\jakarta-tomcat-5.5.25\lib\servlet.jar" MojServlet.java

Очигледно е дека патеката до servlet.jar е долга и малку досадна за пишување секојпат кога треба да го искомајлираш сервлетот. Затоа можеш да си ја подесиш патеката до класите на системско ниво преку системската променлива CLASSPATH. Истата се подесува како и променливата PATH (под MS Windows), за како да ја подесиш патеката под Linux/Unix зирни во инструкциите за инсталирање на JDK-то. За привремено да ја подесиш системската променлива CLASSPATH под MS Windows употреби ја командата SET вп MS-DOS  команден промпт:

C:\javadev> SET CLASSPATH=.;C:\Program Files\Apache Group\jakarta-tomcat-5.5.25\lib\servlet.jar
C:\javadrv> javac MojServlet.java

Како и да ја подесиш патеката до класите (class path) сега успешно можеш да ја компајлираш класата MojServlet.java за да добиеш MojServet.class датотека.
страна број: 1 2 3 4 5 6 << претходна страна : : следна страна >> 
 
Коментирај
автор: Анонимус
Анонимните коментари ќе бидат објавувани веднаш после нивната проверка.
За да вашиот коментар биде веднаш валиден претходно пријавете се или креирајте свој профил


пребарување
најди
 
Форум
 
JugMK
GetJava Download Button
http://www.eclipse.org
 
 
 
 
Copyrights © 2006 - 2017 by Java.com.mk
Права и правила за користење на java.com.mk
Контакт адреса:
contact AT java.com.mk
Powered by Supernova v.0.70 beta
JavaTM и Java-базираните ознаки се трговски марки или регистрирани трговски марки на Sun Microsystems, Inc. во САД и други држави. Java.com.mk никако не соработува со Sun Microsystems, Inc.
Сите други трговски марки се сопственост на нивните сопственици.