Tomcat中如何将JSP解析为Servlet

找到tomcat,lib目录先的jsper.jar,其中有一个Service方法:1.该方法将JSP文件变成HttpJspBase的子类。2.子类重写_jspService()方法。为什么会加一个"_",其它的方法有jspInit(),jspDestory().3.一个页面就对应一个Servlet。看到是HTTP代码就是加上out.println(),如果是<%%>就原封不动的放到JAVA代码中,其他若干功能,比如调用组件库等等。其实这个过程比较复杂。

Tomcat的访问分为两种:1.动态访问,.jsp是动态访问。2.静态访问,直接将请求的内容通过HTTP返回。

动态访问例子:

在SERVER下面的web.xml文件中找到下面的内容

<servlet-mapping>

<servlet-name>jsp</servlet-name>

<url-pattern>*.jsp</url-pattern>

</servlet-mapping>

然后找到对应的处理类

<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>

说明后缀为.jsp请求的内容是被上面的具体实现类来处理的,上面类的主要作用就是将.jsp文件转换为Servlet然后由Servlet来提供对用户的反馈。


TIP:修改为Listing为true可以加快调试速度。

修改tomcat的web.xml中listing参数为true可以让访问的时候,列出所有的可显示文件

<servlet>

<servlet-name>default</servlet-name>

<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>

<init-param>

<param-name>debug</param-name>

<param-value>0</param-value>

</init-param>

<init-param>

<param-name>listings</param-name>

<param-value>true</param-value>

<init-param>

<load-on-startup>1</load-on-startup>

</servlet>




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值