SpringMVC-02-web servlet

在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

导读:本篇文章讲解 SpringMVC-02-web servlet,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

2.1 回顾web-servlet

  • 在进入springmvc学习之前先来回顾下web-servlet的内容,因为springmvc本质上相当于 Servlet。
  • 创建普通maven工程作为父项目,再创建一个普通的maven作为子工程,并进行添加web支持,如下目录结构
    在这里插入图片描述
  • 在父工程中总的pom文件中导入依赖
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.2</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp.jstl</groupId>
        <artifactId>jstl-api</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>taglibs</groupId>
        <artifactId>standard</artifactId>
        <version>1.1.2</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.3.19</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>2.0.7</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.9.9.1</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.15</version>
    </dependency>
    <dependency>
            <groupId>springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>1.2.6</version>
     </dependency>
</dependencies>
  • 查看项目和工程的jdk环境,同时查看IDE的编译环境,三处的JDK版本要一致
    在这里插入图片描述
    在这里插入图片描述
  • 编写servlet需要继承HttpServlet,进行接收请求,调用业务进行逻辑操作,将返回结果进行试图跳转展示给用户
public class LoginServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //接收参数
        String method = req.getParameter("method");
        if ("add".equals(method)) {
            req.getSession().setAttribute("msg","调用add业务处理");
            System.out.println("调用add业务处理");
        }
        if ("delete".equals(method)) {
            req.getSession().setAttribute("msg","调用delete业务处理");
            System.out.println("调用delete业务处理");
        }
        //调用业务

        //试图跳转
        req.getRequestDispatcher("/WEB-INF/jsp/result.jsp").forward(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}
  • 再web.xml文件配置映射路径
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>com.zk.servlet.LoginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>20</session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>
</web-app>
  • 编写测试页面,注意位置,放在web下非web-inf中
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="/login" method="post">
    <label>参数:</label><input type="text" name="method">
    <input type="submit" name="提交" value="ok">
</form>
</body>
</html>

在这里插入图片描述

  • 编写结果页面,将其放到web下web-inf中,只允许重定向访问或转发访问。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>结果</title>
</head>
<body>
<p>结果:${msg}</p>
</body>
</html>
  • MVC框架需要做的

将url映射到java类或java类的方法

封装用户提交的数据

处理请求–调用相关的业务逻辑封装响应数据

将响应数据进行渲染.jsp/html等表示层数据

想深入了解web servlet的同学可以翻看我之前的专栏博客:java-web1-基础知识了解

下一篇:SpringMVC-03-介绍及程序创建

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123900.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!