Проблем със сървлет.

9 отговора 480 прегледа
#1

Проблем със сървлет.

Ха добре заварили!

Имам следния проблем и се надявам някой да ме насочи.

Става въпрос за един мидлет, който е свързван с един сървлет и обменят данни. Сървлетът работи върху Windows 2000, Tomcat 4.1, j2sdk1.4.0_01, Microsoft SQL Server 2000 driver for JDBC

При изготвянето на проекта проверките се се правеха върху XP, Tomcat 5.5, jdk_1.5, j2ee, Microsoft SQL Server 2000 driver for JDBC и работеше добре.

Разликата, е че в първия случай няма инсталиран j2ee, което е препоръка на клиента, като желанието е да се избегне j2ee, като и jsdk да има по възможност само VM. Затова сложих C:\Tomcat 4.1\common\lib\servlet.jar; в classpath и с това избегнах проблема javax.servlet.Http при компилиране, като не показа никаква грешка и реших, че ще сработи, но при изпълнение на сервлета показва следната грешка:

HTTP Status 500 –

java.lang.NullPointerException
at servlet.doGet(servlet.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Thread.java:536)

Отговор
в отговор на зeлeн #2

Re: Проблем със сървлет.

Така както си го направил няма да стане, естествено. Това че си го компилирал незначи че ще сработи. Без уеб сървър няма как да стане работата. А защо не ползваш Tomcat-a немога да разбера?

България не ме обича, а аз съм ебати пича.

Отговор
в отговор на идEoт #3

Re: Проблем със сървлет.

Не използвам Tomcat-a, защото реално незнам как да го направя, би ли ме насочил. Хал хабер съм.

Отговор
в отговор на зeлeн #4

Re: Проблем със сървлет.

[линк]
дерзай не е сложно, но не е и за две изречения. Успех.

България не ме обича, а аз съм ебати пича.

Отговор
в отговор на зeлeн #5

Re: Проблем със сървлет.

Абе като ти гледам стак трейса това е ексепшън на Томкат. Я провери на 61 ред какви ги вършиш - там ти е NPE-to.
И бай дъ уей - много тъпо да си кръстиш сервлета - servlet. Дай му някакво по уникално име - MyServlet, MidletDispatcherServlet, DBConnectorServlet ili както там искаш.

Отговор
в отговор на зeлeн #6

Re: Проблем със сървлет.

j

[image][линк][/image]
Отговор
в отговор на toshe #7

Re: Проблем със сървлет.

Направих следната проба: на ХП -то инсталирах единствено jre1.5.0_06
същата имам инсталирана на Виндовс 2000, преинсталирах драйвера на
JDBC и във webapps имам еднакви фалилове. Всичко е еднакво, всички
папки lib имат еднакви .jar всичко в classpath, path е еднакво на ХП-
то върви и на 2000 е същата грешка.


HTTP 500

java.lang.NullPointerException
servlet.doGet(servlet.java:67)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Умишлено слагам servlet, като име на servlet, защтото това не е от значение.

На реда 67 е следния код:

statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);

Отговор
в отговор на зeлeн #8

Re: Проблем със сървлет.

Здрасти загради реда по следния начин:
try{
............
}
catch(java.sql.SQLException sqle) {
sqle.printStackTrace();
}
провери какво показва, възможно е конекцията да ти е null.

Отговор
в отговор на Dragiiski #9

Re: Проблем със сървлет.

кода за connection:

try {
connection = DriverManager.getConnection(getConnectionUrl(),userName,password);
} catch(SQLException sqleDM) {
out.print("2;");
}

****************************************

кода за statement:

try {
statement = connection.createStatement();
} catch(SQLException sqle) {
out.print("11;");
}

***********************************

PrintWriter out = response.getWriter();

Отговор
в отговор на зeлeн #10

Re: Проблем със сървлет.

And what was the problem? Was the connection null?

Отговор