笔记:servlet-mapping

时间:2021-08-12
本文章向大家介绍笔记:servlet-mapping,主要包括笔记:servlet-mapping使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

servlet-mapping问题

  1. 新建Maven项目:javaweb-02-servlet

  2. 删除项目中src(其他没用的都可以删除,可以按下图删除)

  3. 在项目中新建 -> 新模块(moddle):servlet01

  4. 在main方法中新建目录(不就是文件夹么):java和resources

  5. 右键 -> 标记 ; 标记java为源目录,标记resources为资源目录

  6. 在java中新建包:com.linz.servlet;然后在包中新建HelloServlet类

  7. 继承HttpServlet类,直接输入extends HttpServlet,然后选中爆红的HttpServlet进行Alt+Enter,导入jar包、导入类

  8. 方法中重写doGetdoPost方法(IDEA快捷键:ctrl+O),在doPost方法中使用doGet

public class HelloServlet extends HttpServlet {
    public int x = 12;
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置servlet的编码格式  utf-8是乱码   csdn懂哥说设置成GBK 好使
        resp.setCharacterEncoding("GBK");
        int x = 2626;
        //引入PrintWriter中的writ()方法,在页面中打印出文字
        PrintWriter writer = resp.getWriter();
        writer.println("引入PrintWriter中的writ()方法,在页面中打印出文字");

        //设置成x输出2626   设置成this.x输出12   ???why???
        writer.println(x);
        //request请求 response响应
        //响应response 请求request
        //request request request request request request 请求
        //response 响应 response response response response response response response 响应
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}
  1. 把web.xml内容换成Tomcat中的ROOT里的web.xml(因为比较新比较new);然后在web.xml中注册servlet和设置servlet的请求路径(servlet-mapping)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
                      https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
         version="5.0"
         metadata-complete="true">
    <!--注册servlet-->
    <servlet>
        <!--自定义servlet名称 跟自定义一个方法名差不多的意思?反正都是自定义-->
        <servlet-name>wow</servlet-name>
        <!--指向自己的servlet类-->
        <servlet-class>com.linz.servlet.HelloServlet</servlet-class>
    </servlet>
    
    
    <!--servlet的请求路径-->
    <servlet-mapping>
        <!--跟注册时自定义的servlet名称一样,不一样会报错-->
        <servlet-name>wow</servlet-name>
        <!--如果要访问这个servlet类,在浏览器中会变成 http://localhost:8080/s1(在设置Tomcat时下面自己自定义的名称)/wow-->
        <url-pattern>/wow</url-pattern>
    </servlet-mapping>
</web-app>

原文地址:https://www.cnblogs.com/seawavelin/p/15131970.html