更改jsp文件的后缀名

来源:互联网 发布:财险行业数据 编辑:程序博客网 时间:2024/05/19 00:13

在web编程中,有时我们需要将jsp文件后缀改成其他名称的后缀,我们知道这些后缀文件的执行最终必须遵守web服务器的命名方法,就拿我们免费的tomcat为例,

我们想将某个以.jsp为后缀的JSP文件改名为.saction为后缀的JSP文件,首先想到的就是查询tomcat服务器的说明文档,我们知道它是一个开源的项目,和其他web项目一样,首先也需要加载它自身的web.xml文件,找到tomcat目录中conf目录,打开web.xml文件,其中有一段servlet配置说明,配置如下:

 <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>


根据servlet原理,我们找到其他的servlet标签中<servlet-name>和上面配置相同名称的servlet配置,如下

  <!-- The mapping for the JSP servlet -->
    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
    </servlet-mapping>


    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.jspx</url-pattern>
    </servlet-mapping>


这时上面注释告诉我们,最终调用后缀为.jsp或.jspx的文件时,它会直接找到org.apache.jasper.servlet.JspServlet类,将其转换为一个servlet执行。所以默认情况下jsp文件支持至少两种后缀名称,即上面配置的*.jsp与*.jspx后缀名,另外Myeclipse编辑器也支持.jspx为后缀的JSP文件。根据该原理,我们可以自己加上一些配置,让其支持更多自定义JSP后缀名,如上面讲到的.saction名称,服务器也会将其当做一个JSP文件执行。配置如下

    <servlet-mapping>
        <servlet-name>jsp</servlet-name>
        <url-pattern>*.saction</url-pattern>
    </servlet-mapping>


当然,值得注意的是不同的服务器有对应的不同配置方式,另外自定义的JSP文件后缀名称不一定能被编辑器正确的识别。但只要文件中代码没问题,都可以被web服务器解析为JSP文件去运行

原创粉丝点击