原文链接:http://blog.csdn.net/lulin27861/article/details/24376585

想必大家在用Eclipse进行编程时,经常会碰到这个问题。

原因是jsp没有编译成功,所以找不到这个类。

在这要说明已下jsp和servlet的编译原理。

jsp

比如login.jsp:每一个jsp页面都会被web容器编译成一个Java类,供web容器调用,并且声称html页面回馈给用户。

比如login.jsp,会被编译成login_jsp.java文件放在%tomcat_home%/work/Catalina/localhost/项目名称/org/apache/jsp/目录下;然后编译成login_jsp.class文件,同样放在该目录下。

jsp=java+html

servlet=java+out.print(html)

在第一次请求web服务器时,会执行如下过程:

1、客户端发送请求给web容器

2、web容器将jsp首先转译成servlet源码

3、web容器将servlet源码编译成.class文件

4、web容器执行.class文件

5、web容器将结果返回给客户端

所以第一次请求响应会慢点,以后的请求就会省略第2步和第3步。

-----------------------------------------------------

解决该问题万能三步骤:

1、仔细检查jsp相关路径设置,可能是路径没有写正确

2、仔细检查jsp中的代码,尤其是属性传递是否对应(对于struts),因为jsp代码错误的时候也是无法编译的

3、如果确定代码级没有问题,剩下的就是在启动tomcat时,注意清空一下HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.hello_jsp%tomcat_home%/work/Catalina/localhost/项目名称的内容,操作如下图





增加内容:

或者去tomcat目录下的\work\Catalina\项目名文件夹下看有没有这个jsp的.java文件和.class文件,如果没有,那就是没有编译




相关文章:

  • 2021-08-30
  • 2021-08-17
  • 2021-08-30
  • 2021-08-30
  • 2021-09-17
  • 2021-04-18
  • 2021-08-30
  • 2021-08-30
猜你喜欢
  • 2021-08-30
  • 2021-10-15
  • 2021-05-06
  • 2021-10-01
  • 2021-08-29
  • 2021-08-24
  • 2021-08-30
相关资源
相似解决方案