本帖是本人在进行javaweb学习时针对无法编译jsp类问题,提出一些自己的思考:
1.经上一篇的思考,对自己的javaweb项目配置了最基本的webapp骨架原型。
以下时项目目录详情图
变化一:可以自动识别jsp中的代码是否错误
变化二 :${pageContext.request.contextPath}报乱码,解决方法:在web.xml中配置对应的tomcat文件下的web.xml.
变化三:在root文件夹下可以自动生成jsp文件的.java和.class文件.
到这里,我认为我的javaweb已经配置完毕.但发现仍无法获取请求参数。如图:
由图可知:<%%>可以被识别,因为【12】,【13】行没有报错且可以在网页显示。但【14】行仍然报错。
初步思:考是不是因为两个同文件夹下的jsp文件之间没有建立联系,产生这个想法的原因是:在servlet中可以获取到jsp文件中的请求参数。
方式为post action参数为${pageContext.request.contextPath}/login servlet文件中有设置
@WebServlet("/login")
于是我将action参数改成index1.jsp试图将表单数据输入到index1.jsp文件中,结果发现仍然有无法编译jsp类的错误.
总结思考:
因为能识别<%%>且·可以自动生成.class和.java所以依赖的配置应该正确.
到底是为什么不能获取请求参数呢?如果是jsp文件间的联系问题,我认为有两条路径。
1.配置action参数把数据发送至另一个jsp文件
2.因为最后jsp文件在浏览器的显示经过.class文件.即和java有关,将servlet文件作为显示参数的jsp文件的父类,获取servlet文件中已获得的请求参数.
如果不是jsp文件间的联系问题.那我只能再从maven的配置入手了.
以上是我的拙见,如有不对的地方希望大家多多指导.