在(1)篇发表之后,还以为万事大吉了(注:那时(1)中的配置文件并没有配置服务器启动时预编译jsp文件),在测试中发现l了两个重大的问题:
一、附件上传的时候发现报空指针错误――没有找到路径;
二、jsp文件编译编译不了,报了下面这个错误:
Root cause of ServletException.
weblogic.servlet.jsp.CompilationException: Failed to compile JSP /index.jsp
index.jsp:24:1: Type mismatch: cannot convert from Tag to JspTag
?
上网搜了好久,部署的时候以文件夹的方式(导出的war解压)部署,问题一得到解决,但问题二一直没有得到解决,揪心了三天,在网上也有同仁遇到同样的问题但都没有解决.当我又把(1)配置文件中的配置改为:
<wls:container-descriptor> <wls:prefer-web-inf-classes>false</wls:prefer-web-inf-classes> </wls:container-descriptor>
就找不到hibernate的类了,not found Class.但是jsp页面可以访问了.于是我就怀疑我的lib下是不是那个包少了或是冲突了,直到今天才测试发现,我的项目下面多了一个包servlet.jar,删除之后问题解决了,郁闷的是在tomcat下面竟然从来不报错,另外为了担心写在jsp文件中的java代码不会被拦截,我做了web.xml如下的配置:
<jsp-config> <jsp-property-group> <display-name>JSPConfiguration</display-name> <url-pattern>*.jsp </url-pattern> <el-ignored>false</el-ignored> <page-encoding>utf-8</page-encoding> <scripting-invalid>false</scripting-invalid> </jsp-property-group> </jsp-config>?
?
终于解决了问题,轻松一下~
?
参考资料:
<jsp-config>
包括
<taglib>
和
<jsp-property-group>
两个子元素。
其中<taglib>
元素在JSP 1.2
时就已经存在;而<jsp-property-group>
是JSP 2.0
新增的元素。
<jsp-property-group>
元素主要有八个子元素,它们分别为:
1.<description>:设定的说明
2.<display-name>:设定名称
3.<url-pattern>:设定值所影响的范围,如: /CH2 或 /*.jsp
4.<el-ignored>:若为 true,表示不支持 EL 语法
5.<scripting-invalid>:若为 true,表示不支持 < % scripting %>语法
6.<page-encoding>:设定 JSP 网页的编码
7.<include-prelude>:设置 JSP 网页的抬头,扩展名为 .jspf
8.<include-coda>:设置 JSP 网页的结尾,扩展名为 .jspf
1.<description>:设定的说明
2.<display-name>:设定名称
3.<url-pattern>:设定值所影响的范围,如: /CH2 或 /*.jsp
4.<el-ignored>:若为 true,表示不支持 EL 语法
5.<scripting-invalid>:若为 true,表示不支持 < % scripting %>语法
6.<page-encoding>:设定 JSP 网页的编码
7.<include-prelude>:设置 JSP 网页的抬头,扩展名为 .jspf
8.<include-coda>:设置 JSP 网页的结尾,扩展名为 .jspf