对象不用我去找,我只管来学SpringMVC原理(一)

简介: SpringMVC一、回顾一下servlet

首先需要回顾一下什么spring(重点:IOC和AOP),mvc(model view controller)


🐳点击送你到《可以查看Spring的相关》


MVVM: VM:view-model双向绑定


jsp本质是一个servlet


Spring:是一个大杂烩,我们可以将SpringMVC中的所有要用到的bean,注册到Spring中


一、回顾一下servlet


说实话,如果不回顾,我都不知道我都快忘记了。


创建一个普通的maven项目以及将添加web支持,在项目上右键点击add framework support,就可以看到了。



1.项目框架:


微信图片_20211230180806.png


2.导入依赖:

<dependencies>
    <!--Servlet 依赖-->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
    </dependency>
    <!--JSP依赖-->
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.3</version>
    </dependency>
</dependencies>

3.编写一个servlet

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1.获取前端参数
        String method = req.getParameter("method");
        if(method.equals("add")){
            //对session对象赋值
            req.getSession().setAttribute("msg","执行了add方法");
        }
        if(method.equals("delete")){
            req.getSession().setAttribute("msg","执行了delete方法");
        }
        //2.调用业务层
        //3.视图转发或重定向 resp.sendRedirect();
        req.getRequestDispatcher("/WEB-INF/jsp/test.jsp").forward(req,resp);
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

4.编写servlet接口

中间涉及了超时时间设置,默认欢迎页

<?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>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.hxl.servlet.HelloServlet</servlet-class>
    </servlet>
    <!--servlet的请求路径-->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
<!--    &lt;!&ndash;设置超时时间&ndash;&gt;
    <session-config>
        <session-timeout>15</session-timeout>
    </session-config>
    &lt;!&ndash;欢迎页,默认是index.jsp&ndash;&gt;
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    -->
</web-app>


5.测试页test.jsp


页面放置的位置,如果不想让用户看见就放在WEB-INF下,公共页面放在web下面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${msg}
</body>
</html>

6.请求表单form.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="/hello" method="post">
    <input type="text" name="method">
    <input type="submit">
</form>
</body>
</html>

7.🐳点击送你到配置tomcat


启动查看


http://localhost:8080/hello 会报500错误因为没有数据


http://localhost:8080/hello?method=add:执行了add方法


MVC框架要做的事情


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


  • 封装用户提交的数据


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


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


相关文章
|
前端开发 Java 应用服务中间件
|
Java fastjson
SpringMVC接收复杂对象
SpringMVC接收复杂对象 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7642977.html   本节内容暂放一边,我先扯点儿,心情好了,代码顺风顺水哈~ “     上周一,也就是六号那天,我在市中心医院做手术,一边做手术一边跟做手术的医生闲扯。
1096 0
|
JSON JavaScript 前端开发
SpringMVC @RequestBody接收Json对象字符串
以前,一直以为在SpringMVC环境中,@RequestBody接收的是一个Json对象,一直在调试代码都没有成功,后来发现,其实 @RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。
1568 0
|
JSON JavaScript 前端开发
4种方法让SpringMVC接收多个对象(转:http://blog.csdn.net/lutinghuan/article/details/46820023)
问题背景: 我要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理? 第1种方法:表单提交,以字段数组接收; 第2种方法:表单提交,以BeanListModel接收; 第3种方法:将Json对象序列化成Json字符串提交,以List接收; 第4种方法:将表单对象序列化成Json字符串提交,以List接收; 第4种
1520 0
|
4月前
|
设计模式 前端开发 JavaScript
Spring MVC(一)【什么是Spring MVC】
Spring MVC(一)【什么是Spring MVC】
|
1月前
|
Java Apache vr&ar
springmvc报错 nested exception is org.mybatis.spring.MyBatisSystemException:
springmvc报错 nested exception is org.mybatis.spring.MyBatisSystemException:
16 0
|
6月前
|
前端开发 Java Go
Spring MVC 和 Spring Boot 的区别
Spring MVC 和 Spring Boot 的区别
110 0