狂神说 javaweb 09集:Servlet原理

09.Servlet原理

6.3 ,Servlet原理

Servlet是由web服务器调用,web服务器在收到浏览器请求之后,会:

在这里插入图片描述

 

6.4mapping问题

1,一个Servlet可以指定一个映射路径

 <servlet-mapping>
     <servlet-name>hello</servlet-name>
     <url-pattern>/hello</url-pattern>
 </servlet-mapping>

2,一个Servlet可以指定多个映射路径

 <servlet-mapping>
     <servlet-name>hello</servlet-name>
     <url-pattern>/hello</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
     <servlet-name>hello</servlet-name>
     <url-pattern>/hello2</url-pattern>
 </servlet-mapping>
 <servlet-mapping>
     <servlet-name>hello</servlet-name>
     <url-pattern>/hello3</url-pattern>
 </servlet-mapping>

3,一个Servlet可以指定通用映射路径

 <servlet-mapping>
     <servlet-name>hello</servlet-name>
     <url-pattern>/hello/*</url-pattern>
 </servlet-mapping>

4,默认请求路径

 <!--默认请求路径-->
 <servlet-mapping>
     <servlet-name>hello</servlet-name>
     <url-pattern>/*</url-pattern>
 </servlet-mapping>

5,指定一些后缀或者前缀等等......

 <!--Servlet的请求路径-->
 <!--localhost:8080/s1/hello/hello-->
 <!--默认请求路径-->
 <!--注意点:*前面不能加映射的路径(不能加载*前面加干)-->
 <!--hello/test.test-->
 <servlet-mapping>
     <servlet-name>hello</servlet-name>
     <url-pattern>*.test</url-pattern>
 </servlet-mapping>

6.优先级问题

指定了固有的映射路径优先级最高,如果 找不到就会走默认的处理请求

java

 public class ErrorServlet extends HelloServlet{
     @Override
     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         resp.setContentType( "test/html" );
         resp.setCharacterEncoding( "utf-8" );
 
         PrintWriter writer = resp.getWriter();
         writer.println("<h1>404</h1>");
 
    }
 
     @Override
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         doGet( req, resp );
    }
 }

xml

 <!--404-->
 <servlet>
     <servlet-name>error</servlet-name>
     <servlet-class>com.servlet.ErrorServlet</servlet-class>
 </servlet>
 <servlet-mapping>
     <servlet-name>error</servlet-name>
     <url-pattern>/*</url-pattern>
 </servlet-mapping>
 
posted @   坚持做  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示