官网:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/web.html#spring-web
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
配置web.xml , 注册DispatcherServlet
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc-servlet.xml
1
springmvc
/
编写SpringMVC 的 配置文件!名称:springmvc-servlet.xml : [servletname]-servlet.xml
编写我们要操作业务Controller
package com.learning.controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloController implements Controller {
public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
//ModelAndView 模型和视图
ModelAndView mv = new ModelAndView();
//业务代码
String result = "HelloMVC";
mv.addObject("msg",result);
//封装要跳转的视图,放在ModelAndView中
mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
return mv;
}
}
注入到ioc
写要跳转的jsp页面,显示ModelandView存放的数据
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
learning
${msg}
可能遇到的问题:访问出现404,排查步骤:
查看控制台输出,看一下是不是缺少了什么jar包。
如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖!
重启Tomcat 即可解决!
导入依赖 Maven可能存在资源过滤的问题,我们将配置完善
src/main/java
**/*.properties
**/*.xml
false
src/main/resources
**/*.properties
**/*.xml
false
web.xml这是不变的
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc-servlet.xml
1
springmvc
/
springmvc-servlet.xml
controller
package com.learning.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("/hello")
public String hello(Model model){
model.addAttribute("msg","你好mvc");
return "hello";
}
}
页面jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
你好
${msg}
web.xml
url给到我们的前端控制器 前端控制器不需要我们去动web.xml 所有请求必须通过它
springmvc-servlet.xml
里面处理器映射器 适配器 也不需要去动 只需要配置对应controller也就是处理器
这里配置视图解析器
controller
处理器通过访问数据库等操作 把数据返回响应页面 也就是ModelAndView
这里生效
jsp
最后通过在jsp接收数据 渲染页面
我们需要自己写处理器处理请求 返回数据