摸鱼少学习多

day94-javaweb-servlet路径问题

servlet路径问题

在web.xml中设置不同映射走的对应的路径

 <!--    可以自定义后缀实现请求路径
         注意:*前面不能加项目映射的路径
         hello/sasasas.ggugu
 -->
     <servlet-mapping>
         <servlet-name>hello</servlet-name>
         <url-pattern>/hello</url-pattern>
     </servlet-mapping>

 

可以更改 <url-pattern>后的路径

注意:可以自定义后缀实现请求路径 *前面不能加项目映射的路径 hello/sasasas.ggugu

配置不同映射

配置error映射

errorServlet

复制代码
 package com.gu.Servlet;
 ​
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
 ​
 public class ErrorServlet extends HttpServlet {
     @Override
     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         resp.setContentType("text/html");
         resp.setCharacterEncoding("utf-8");
         PrintWriter writer = resp.getWriter();
         writer.print("<h1>404</h1>");
     }
 ​
     @Override
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         super.doPost(req, resp);
     }
 }
复制代码

 

映射

复制代码
 <!--    404-->
     <servlet>
         <servlet-name>error</servlet-name>
         <servlet-class>com.gu.Servlet.ErrorServlet</servlet-class>
     </servlet>
     <servlet-mapping>
         <servlet-name>error</servlet-name>
         <url-pattern>/*</url-pattern>
     </servlet-mapping>
复制代码

 

优先级问题

在上述的error中默认路径为/*

但hello中路径为/hello属于/*

我们如果输入/hello仍会跳转到hello页面中

 
<!--    优先级问题:
                 在指定的固有映射路径的优先级最高
                 没有指定的指令走默认的/*路径
             -->

 

 
posted @   北海之上  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
/* 粒子吸附*/
点击右上角即可分享
微信分享提示