java.lang.ClassNotFoundException: org.apache.jsp.login_jsp
jsp文件编译失败 原因是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服务器时,会执行如下过程:
- 客户端发送请求给web容器
- web容器将jsp首先转译成servlet源码
- web容器将servlet源码编译成.class文件
- web容器执行.class文件
- web容器将结果返回给客户端
所以第一次请求响应会慢点,以后的请求就会省略第2步和第3步。
java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
出现此问题的原因在于我们在jsp页面中使用了jstl标签,但是没有引入jstl相关的jar包。 引入jstl.jar和standard.jar即可解决
但是又发现jstl.jar和standard.jar已经成功引入了,遇到这种情况可以把本地仓库.m2中的该jar包删除重新下载,这是因为可能是某次下载的版本不对导致的问题。
用idea配置tomcat时,访问页面出现404
检查是否是url出错。 若url正确,在使用idea配置的tomcat时,输入url是不需要包名的。 如localhost:8080//portal_jqm_zmkm//login.jsp 中间的war包名字portal_jqm_zmkm是不需要了的。