狂神的servlet回顾就不在这里写了。可以翻之前的笔记。
创建webapp的maven项目。

也就是四个文件 (不用思考里面的代码,直接CV先走一遍流程)
HelloController:
- package com.Li.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;
- }
- }
-
-
springmvc-servlet.xml:
- "1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd">
-
- <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
- <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
-
-
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
-
- <property name="prefix" value="/WEB-INF/jsp/"/>
-
- <property name="suffix" value=".jsp"/>
- bean>
-
-
- <bean id="/hello" class="com.Li.controller.HelloController"/>
-
-
-
- beans>
hello.jsp:
- <%--
- Created by IntelliJ IDEA.
- User: Li
- Date: 2022/12/1
- Time: 17:23
- To change this template use File | Settings | File Templates.
- --%>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>Titletitle>
- head>
- <body>
- ${msg}
- body>
- html>
web.xml:
- "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-name>springmvcservlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
-
- <init-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:springmvc-servlet.xmlparam-value>
- init-param>
-
- <load-on-startup>1load-on-startup>
- servlet>
-
-
-
- <servlet-mapping>
- <servlet-name>springmvcservlet-name>
- <url-pattern>/url-pattern>
- servlet-mapping>
-
-
-
-
- web-app>
pom.xml(外面那个):
- <dependencies>
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>4.12version>
- dependency>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-webmvcartifactId>
- <version>5.1.9.RELEASEversion>
- dependency>
- <dependency>
- <groupId>javax.servletgroupId>
- <artifactId>servlet-apiartifactId>
- <version>2.5version>
- dependency>
- <dependency>
- <groupId>javax.servlet.jspgroupId>
- <artifactId>jsp-apiartifactId>
- <version>2.2version>
- dependency>
- <dependency>
- <groupId>javax.servletgroupId>
- <artifactId>jstlartifactId>
- <version>1.2version>
- dependency>
- dependencies>
配置完tomcat之后直接run。之后路径上输入hello测试
404问题:


如果没有lib,添加一个lib文件夹。

选中lib点+号,之后点第一个

将这些全部导入,apply之后OK即可。
大致分为这三部分,对照视频理解每个文件级代码块的作用。


HelloController:
- package com.Li.controller;
-
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
-
- @Controller
- //@RequestMapping("/hello")看第11行的注释,如果这行不注释的话,就是11行的效果
- public class HelloController {
-
- //localhost:8080/hello/h1
- @RequestMapping("/h1")
- public String hello(Model model){
- //封装数据,向模型中添加值,可以在JSP页面取出并渲染
- model.addAttribute("msg", "Hello,SpringMVCAnnotation");
-
- return "hello";//会被视图解析器处理
- }
-
- }
springmvc-servlet.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"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- 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
- http://www.springframework.org/schema/mvc
- https://www.springframework.org/schema/mvc/spring-mvc.xsd">
-
-
- <context:component-scan base-package="com.Li.controller"/>
-
- <mvc:default-servlet-handler />
-
- <mvc:annotation-driven />
-
-
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
- id="internalResourceViewResolver">
-
- <property name="prefix" value="/WEB-INF/jsp/" />
-
- <property name="suffix" value=".jsp" />
- bean>
-
- beans>
-
hello.jsp:
- <%--
- Created by IntelliJ IDEA.
- User: Li
- Date: 2022/12/2
- Time: 22:55
- To change this template use File | Settings | File Templates.
- --%>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>Titletitle>
- head>
- <body>
- ${msg}
- body>
- html>
web.xml:
- "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-name>SpringMVCservlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
-
- <init-param>
- <param-name>contextConfigLocationparam-name>
- <param-value>classpath:springmvc-servlet.xmlparam-value>
- init-param>
-
- <load-on-startup>1load-on-startup>
- servlet>
-
-
- <servlet-mapping>
- <servlet-name>SpringMVCservlet-name>
- <url-pattern>/url-pattern>
- servlet-mapping>
-
- web-app>
-
测试:

重点在于理解,代码都很简单。