Ticket #65 (closed 优化: 已处理)
jsp接口正常访问检测
| Reported by: | kuangjuhuan | Owned by: | kuangjuhuan |
|---|---|---|---|
| Priority: | 重要的(3) | Milestone: | |
| Component: | 核心模块 | Version: | BBS7.0 |
| Keywords: | jsp编译问题 | Cc: | |
| Due Date: | 15/07/2013 |
Description
在开发过程中,可能常常会改动方法名或增加、减少参数之类的,使用maven编译的时候,即便是jsp发生错误,编译过程中并不会报错提示,因此可能等应用上线了之后才发现某个jsp访问不了,报500,因为编译失败问题可能会造成线上应用的访问速度下降等问题,因此需要开发一个脚本来检测我们所有的jsp接口是否能正常访问。
Change History
comment:1 Changed 13 years ago by kuangjuhuan
- Owner changed from qinhongyuan to kuangjuhuan
- Status changed from new to assigned
comment:2 Changed 13 years ago by kuangjuhuan
1.最初打算写一个脚本,把所有jsp页面都访问一次,再根据返回的状态码判断该页面是否能正常访问,但是发现直接访问接口,一方面接口数量较多,检测时间长,另一方面,如果直接访问接口,可能会造成数据上的修改,因为放弃此想法。
2.maven有个jspc-maven-plugin插件,可以预编译jsp文件,但是该插件尚未成熟,很多jsp语法都不能友好地支持,因为同样放弃此方法。
3.最后发现在resin启动的时候可以把所有的jsp文件都预先编译,需要在web.xml文件加上如下配置(已上传至svn):
<web-app xmlns="http://caucho.com/ns/resin">
<listener>
<listener-class>com.caucho.jsp.JspPrecompileListener</listener-class>
<init>
<extension>jsp</extension>
<extension>jspf</extension>
</init>
</listener>
加上以上配置后,我们每次修改代码,启动resin的时候,会预先编译所有jsp文件,因此可以预先知道jsp是否存在编译错误。
需要注意的是,我们打整包更新的时候,确保了所有jsp编译通过后,可能需要把以上代码注释再次编译。
如果大家发现有更好的检测方法可以提出来。
Note: See
TracTickets for help on using
tickets.
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)