
其实选错了就选错了,人不可能每一步都正确的,很多事就算能重来一遍,以当时的心智和阅历,还是会做同样的选择,避免不了同样的结果,所以,不用去回头看,也不必批判当时的自己。

首先先要完成对项目环境的搭配,下面我将直接上环境配置的代码,如果不理解可以到SpringMVC框架专栏取了解基础代码。如果您拥有一定的基础可以自行跳过环境配置等方面。
第一步:导入各种依赖,在pom.xml文件中
- "1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0modelVersion>
-
- <groupId>org.examplegroupId>
- <artifactId>SpringMVC-2artifactId>
- <version>1.0-SNAPSHOTversion>
- <packaging>warpackaging>
-
- <properties>
- <maven.compiler.source>14maven.compiler.source>
- <maven.compiler.target>14maven.compiler.target>
- properties>
-
- <dependencies>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-webmvcartifactId>
- <version>RELEASEversion>
- dependency>
- <dependency>
- <groupId>javax.servletgroupId>
- <artifactId>javax.servlet-apiartifactId>
- <version>4.0.1version>
- dependency>
- <dependency>
- <groupId>javax.servlet.jspgroupId>
- <artifactId>javax.servlet.jsp-apiartifactId>
- <version>2.3.3version>
- dependency>
- dependencies>
-
-
- project>
第二步:配置web.xml为项目搭建各种需要的处理器
- "1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
-
- <context:component-scan base-package="controller" >
- context:component-scan>
-
- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" id="handlerMapping">bean>
- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" id="handlerAdapter">bean>
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="modelAndView">
- <property name="prefix" value="/jsp/">property>
- <property name="suffix" value=".jsp">property>
- bean>
-
- beans>
第三步:创建一个网页文件:demo1.jsp,让我们注入的内容显示出来
- <%--
- Created by IntelliJ IDEA.
- User: lenovo
- Date: 2022/11/2
- Time: 22:33
- To change this template use File | Settings | File Templates.
- --%>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>Titletitle>
- head>
- <body>
- <h1>🐎${ma}h1>
- body>
- html>
第四步:创建Controller类,并设置各种返回值(本篇文章的中心)
第一种:返回ModelAndView对象
- @Controller
- public class controller_demo3 {
- //主要介绍返回值的介绍
-
- //第一种类型为:MOdelAndView类型的实现方法
- @GetMapping("/demo1")
- public ModelAndView demo1(){
- ModelAndView modelAndView = new ModelAndView("demo1");
- modelAndView.addObject("ma","不想睡醒的梦"); //给demo1.jsp中的属性ma赋值为不像睡醒的梦
- return modelAndView;
- }
- }
输出结果:

第二种:返回值void,通过各种方法进行跳转
- @Controller
- public class controller_demo3 {
- //主要介绍返回值的介绍
-
- //返回值为void的实现方法
- @GetMapping("/demo2")
- public void demo2_1(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- request.getRequestDispatcher("/jsp/demo1.jsp").forward(request,response); //通过服务器进行跳转到网页jsp文件夹下的demo1.jsp网页文件
-
- // 通过自动手动指定响应头进行重定向
- // 这种方法的结果与上面的结果相同
- // response.setStatus(403);
- // response.addHeader("Location","/jsp/demo1.jsp");
- }
- @GetMapping("/demo3")
- public void demo2_2(HttpServletResponse response) throws IOException {
- response.sendRedirect("/jsp/demo1.jsp"); //通过客户端进行跳转到指定的网页
- }
输出结果:

第三种:返回字符串类型
1:
- @GetMapping("/demo4")
- public String demo3(Model model){
- model.addAttribute("ma","不想睡醒的梦");
- return "demo1"; //这里的返回值为网页名字demo1.jsp并通过Model为网页中属性进行赋值
- }
输出结果:

2:retuen到指定网页
- @GetMapping("/demo5")
- public String demo4(){
- return "forward:/jsp/hello.jsp";
- }
输出结果:指定网页显示内容

3:return:返回指定的内容
- @GetMapping("/demo7")
- @ResponseBody //这个注解表示返回值就是输入返回值,并没有其他的特殊含义
- public String demo6(){
- return "forward:/jsp/hello.jsp"; //服务器跳转
- }
输出结果:

返回汉字:
- @GetMapping(value = "/demo8",produces = "text/html;charset=utf-8") //字符格式
- @ResponseBody
- public String demo7(){
- return "大碗大碗的"; //服务器跳转
- }
输出结果:
