首先需要回顾一下什么spring(重点:IOC和AOP),mvc(model view controller)
MVVM: VM:view-model双向绑定
jsp本质是一个servlet
Spring:是一个大杂烩,我们可以将SpringMVC中的所有要用到的bean,注册到Spring中
一、回顾一下servlet
说实话,如果不回顾,我都不知道我都快忘记了。
创建一个普通的maven项目以及将添加web支持,在项目上右键点击add framework support,就可以看到了。
步骤
1.项目框架:
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> <!-- <!–设置超时时间–> <session-config> <session-timeout>15</session-timeout> </session-config> <!–欢迎页,默认是index.jsp–> <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>
启动查看
http://localhost:8080/hello 会报500错误因为没有数据
http://localhost:8080/hello?method=add:执行了add方法
MVC框架要做的事情
- 将url映射到java类或Java类的方法
- 封装用户提交的数据
- 处理请求–调用相关的业务处理–封装响应数据
- 将响应的数据进行渲染,jsp/html等表示层数据