提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录- 我和我的SpringMVC(狂神说)
- 前言
- 一、什么是MVC
- 二、使用步骤
- 1.回顾Servlet
- 2.我的第一个SpringMVC
- 原理图
- 总结
- 深入学习SpringMVC
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是MVCmvc:是模型(Model),视图(View),控制器(Controller)的简写
二、使用步骤 1.回顾Servlet1.新建一个Maven工程当做父工程!pom依赖!
代码如下(示例):
junit junit 4.12 org.springframework spring-webmvc 5.1.9.RELEASE javax.servlet servlet-api 2.5 javax.servlet.jsp jsp-api 2.2 javax.servlet jstl 1.2
2.建立一个Moudle:springmvc-01-servlet , 添加Web app的支持!
3.导入servlet 和 jsp 的 jar 依赖
javax.servlet servlet-api 2.5 javax.servlet.jsp jsp-api 2.2
- 编写一个Servlet类,用来处理用户的请求
package com.kuang.servlet;
//实现Servlet接口
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//取得参数
String method = req.getParameter("method");
if (method.equals("add")){
req.getSession().setAttribute("msg","执行了add方法");
}
if (method.equals("delete")){
req.getSession().setAttribute("msg","执行了delete方法");
}
//业务逻辑
//视图跳转
req.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
- 编写Hello.jsp,在WEB-INF目录下新建一个jsp的文件夹,新建hello.jsp 在
<%@ page contentType="text/html;charset=UTF-8" language="java" %>Kuangshen ${msg}
- web.xml中注册Servlet
HelloServlet com.kuang.servlet.HelloServlet HelloServlet /user
- 配置Tomcat,并启动测试
localhost:8080/user?method=add localhost:8080/user?method=delete2.我的第一个SpringMVC
配置版
1、新建一个Moudle , springmvc-02-hello , 添加web的支持!
2、确定导入了SpringMVC 的依赖!
3、配置web.xml , 注册DispatcherServlet
springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc-servlet.xml 1 springmvc /
/ 和 /* 的区别:< url-pattern > / url-pattern > 不会匹配到.jsp, 只针对我们编写的请求;即:.jsp 不会进入spring的 DispatcherServlet类 。< url-pattern > /* url-pattern > 会匹配 *.jsp,会出现返回 jsp视图 时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。
准确的来说是/不会匹配到形如.后缀的 url,而/*则会
4、编写SpringMVC 的 配置文件!名称:springmvc-servlet.xml : [servletname]-servlet.xml
说明,这里的名称要求是按照官方来的
5、添加 处理映射器
6、添加 处理器适配器
7、添加 视图解析器
8、编写我们要操作业务Controller ,要么实现Controller接口,要么增加注解;需要返回一个ModelAndView,装数据,封视图;
package com.kuang.controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//注意:这里我们先导入Controller接口
public class HelloController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
//ModelAndView 模型和视图
ModelAndView mv = new ModelAndView();
//封装对象,放在ModelAndView中。Model
mv.addObject("msg","HelloSpringMVC!");
//封装要跳转的视图,放在ModelAndView中
mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
return mv;
}
}
9、将自己的类交给SpringIOC容器,注册bean
10、写要跳转的jsp页面,显示ModelandView存放的数据,以及我们的正常页面;
11.注意的问题
可能遇到的问题:访问出现404,排查步骤: - 查看控制台输出,看一下是不是缺少了什么jar包。 如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖! 重启Tomcat 即可解决!原理图
这里的
1部分就是spring 的处理映射器
2是spring 的处理适配器
3是视图解析器
提示:这里对文章进行总结:
- 首先现在xml里面注册DispatcherServlet,
- 然后再在servlet里面关联一个springmvc的配置文件
- 在springmvc的配置文件【servlet-name】-servlet.xml中写处理映射器,处理适配器,视图解析器对应图中1,2,3部分
这就是springMVC不使用注解的配置版本
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:



