【Java】如何使用servlet作为Controller

【Java】如何使用servlet作为Controller

IDE: IntelliJ IDEA

准备工作

  1. 在main下面新建目录java,并标记为source root。

  2. 新建一个包,名称和要控制的jsp文件的目录相同。我这里是ch2.servletController。在包中新建一个class,Controller.java
    1

  3. 在工程目录的pom.xml文件中添加依赖,javax.servlet-api。具体可以从maven官网的仓库中搜索。

    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
      <scope>provided</scope>
    </dependency>
    

    1

具体代码编写

  1. Controller.java文件。

    1. 注意包名。
    2. import相关库。
    3. 使用@WebServlet(urlPatterns={""})来用URL标记servlet。
    4. class要是public,并且extend HttpServlet
    5. doGet方法写入页面的逻辑关系。
    package ch2.servletController;
    
    import java.io.IOException;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
    * @author sleepyhermit
    * @date 2021/12/16-15:32
    */
    
    @WebServlet(
            urlPatterns={"/ch2/servletController/Controller"})
    public class Controller extends HttpServlet{
        protected void doGet(HttpServletRequest request,
                            HttpServletResponse response)
                throws ServletException, IOException {
            String address;
            if(request.getParameter("processButton") != null){
                address = "Process.jsp";
            } else if(request.getParameter("confirmButton") != null){
                address = "Confirm.jsp";
            } else {
                address = "Edit.jsp";
            }
            RequestDispatcher dispatcher = request.getRequestDispatcher(address);
            dispatcher.forward(request,response);
        }
    }
    
  2. 在jsp文件中,使用<form action="Controller">即可。

运行

在maven中输入一下命令。如果清理项目异常,则需要将当前程序终止运行。[1]

mvn: clean tomcat7:run

参考资料

  1. 问题:Failed to delete XXX\target\tomcat\logs\access_log.2020-07-19: https://blog.csdn.net/LYN_xj94512/article/details/107441155
posted @   sleepyhermit  阅读(577)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· Apache Tomcat RCE漏洞复现(CVE-2025-24813)
点击右上角即可分享
微信分享提示