Tomcat版本切换出现的问题

最近用servlet写了一个小工程,出现几个问题,这些问题以前也遇到过,现在总结一下解决方法:

一.工程环境:jdk1.6 纯servlet tomcat 5.5

1. 工程启动前添加两个jar包:Tomcat 5.5.27\common\lib下的servlet-api.jar,jsp-api.jar

启动无错,打开首页报错: 找不到处理jsp的类(还原不了这个错误了,有时候又没错 纠结...)

网上说法 是添加的jar包跟tomcat默认jar包冲突,去掉jsp-api.jar即可。

2.jsp中的el表达式无法解析,解决方法有一下几种:

  (1).在要用的el表达式的页面加上: <%@ page isELIgnored="false" %>

  (2).修改web.xml头部信息如下

 

写道

     这个版本的isELIgnored默认设置为false。所以使用web.xml里用web-app_2_4.xsd声明的时候在JSP页面不用特意  声明。

  (3).

写道


*.jsp
true

 此种代码在2.5下无用

3.点击登录报错

javax.servlet.ServletException: Wrapper cannot find servlet class com.yicha.servlet.LoginServlet or a class it depends on
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
	org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	java.lang.Thread.run(Thread.java:619)

如果不用eclipse单独启动tomcat则会报如下错:

HTTP Status 404 - Servlet LoginServlet is not available

type Status report

message Servlet LoginServlet is not available

description The requested resource (Servlet LoginServlet is not available) is not available.
 此原因是用eclipse创建工程的时候将编译后的文件放在了目录build\classes下,修改为传统的WebRoot\WEB-INF\classes不再报错

你可能感兴趣的:(实用文档)