• 关于Tomcat启动Servlet工程与映射的访问【JavaWeb】


    一.前言

    上文的【Maven父子项目工程中的Servlet优化与准备】一文中我们已经建立好了需要的工程,本文,我们尝试搭建第一个Servlet项目。

    二.HelloServlet

    Servlet接口在sun公司有俩个默认的实现类:HttpServlet和GenericServlet

    新建立一个java接口,标准按照阿里巴巴接口标准

    com.gowork.servlet

    如下图:
    在这里插入图片描述
    1.写一个普通类 ,我的类名为:HelloServlet
    2.尝试实现我们的Servlet接口,我们可以直接继承HttpServlet,这个接口是sun公司的默认的实现类。
    如下:

    package com.gowork.servlet;
    
    import javax.servlet.http.HttpServlet;
    
    public class helloservlet extends HttpServlet {
        
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    重写Servlet的doGet和doPost方法:
    Servlet重点源码如下:

    void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
    
    • 1

    idea重写方法快捷键:

    Ctrl+O

    在这里插入图片描述
    因为get或post只是请求实现的不同方法,所以它们可以相互测试。业务逻辑是相同的。
    编写类:

    public class helloservlet extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            PrintWriter Writer= resp.getWriter();  //响应流
    
            Writer.print("Hello,Servlet 上进小菜猪");
    
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            super.doPost(req, resp);
        }
    
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    三.编写Servlet的映射

    3.1 为什么需要Servlet映射?

    我们编写了一个java程序,但我们需要通过浏览器访问它,浏览器需要连接到web服务器,因此我们需要注册我们在web服务中编写的servlet,并为其提供浏览器可以访问的路径。

    3.2 注册Servlet

    进入子项目中的web.xml添加配置如下:

    <servlet>
            <servlet-name>helloservlet-name>
            <servlet-class>com.gowork.servlet.helloservletservlet-class>
    servlet>
    
    • 1
    • 2
    • 3
    • 4

    3.3 Servlet的请求路径

    进入子项目中的web.xml添加配置如下:

    <servlet-mapping>
            <servlet-name>helloservlet-name>
            <url-pattern>/hellourl-pattern>
        servlet-mapping>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    四.配置Tomcat

    点击右上角的添加:
    在这里插入图片描述
    点击加号,找到Tomcat,配置基础配置,确保配置如下:
    在这里插入图片描述

    注意配置项目发布的位置!

    五.项目启动

    点击上面的启动项目,等待配置服务器:
    在这里插入图片描述
    启动之后,我们会发现多了应该webapp文件夹和target文件夹
    在这里插入图片描述

    webapp文件夹里面的index.jsp为我们的前端样式文件,类似html,如下:

    <html>
    <body>
    <h2>Hello World!</h2>
    </body>
    </html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    我们启动项目:

    http://localhost:8080/javweb

    在这里插入图片描述
    本地访问http://localhost:8080/javweb
    结果如下:
    在这里插入图片描述

    5.1 映射

    映射文件为:

        <servlet>
            <servlet-name>helloservlet-name>
            <servlet-class>com.gowork.servlet.helloservletservlet-class>
        servlet>
    
        <servlet-mapping>
            <servlet-name>helloservlet-name>
            <url-pattern>/hellourl-pattern>
        servlet-mapping>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    由上面的xml文件可以看出,如果游览器访问/hello,会转到com.gowork.servlet.helloservlet,而我们的com.gowork.servlet.helloservlet配置如下:

    @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            PrintWriter Writer= resp.getWriter();  //响应流
    
            Writer.print("Hello,Servlet Shangjin small vegetable pig");
    
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    所以映射输出为:

    Hello,Servlet Shangjin small vegetable pig

    在这里插入图片描述
    本次任务完成!

  • 相关阅读:
    c#string常用方法总结
    D. Divide(math)[2021 ECNU Campus Invitational Contest]
    DVWA-SQL Injection(SQL注入)
    注册成Windows服务
    React-RouterV6+AntdV4实现Menu菜单路由跳转
    接口测试之文件下载
    MVC第三波书店书籍首页展示页面
    机器学习【线性回归算法2】
    Kubernetes后台数据库etcd:安装部署etcd集群,数据备份与恢复
    [附源码]计算机毕业设计JAVAjsp疫情防控期间人员档案追寻系统
  • 原文地址:https://blog.csdn.net/weixin_52908342/article/details/126331775