• 初识springmvc


    狂神的servlet回顾就不在这里写了。可以翻之前的笔记。

    原生开发:

    创建webapp的maven项目。

    也就是四个文件 (不用思考里面的代码,直接CV先走一遍流程)

    HelloController:

    1. package com.Li.controller;
    2. import org.springframework.web.servlet.ModelAndView;
    3. import org.springframework.web.servlet.mvc.Controller;
    4. import javax.servlet.http.HttpServletRequest;
    5. import javax.servlet.http.HttpServletResponse;
    6. //注意:这里我们先导入Controller接口
    7. public class HelloController implements Controller {
    8. public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
    9. //ModelAndView 模型和视图
    10. ModelAndView mv = new ModelAndView();
    11. //封装对象,放在ModelAndView中。Model
    12. mv.addObject("msg","HelloSpringMVC!");
    13. //封装要跳转的视图,放在ModelAndView中
    14. mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
    15. return mv;
    16. }
    17. }

    springmvc-servlet.xml:

    1. "1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://www.springframework.org/schema/beans
    5. http://www.springframework.org/schema/beans/spring-beans.xsd">
    6. <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    7. <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    8. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
    9. <property name="prefix" value="/WEB-INF/jsp/"/>
    10. <property name="suffix" value=".jsp"/>
    11. bean>
    12. <bean id="/hello" class="com.Li.controller.HelloController"/>
    13. beans>

    hello.jsp:

    1. <%--
    2. Created by IntelliJ IDEA.
    3. User: Li
    4. Date: 2022/12/1
    5. Time: 17:23
    6. To change this template use File | Settings | File Templates.
    7. --%>
    8. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    9. <html>
    10. <head>
    11. <title>Titletitle>
    12. head>
    13. <body>
    14. ${msg}
    15. body>
    16. html>

    web.xml:

    1. "1.0" encoding="UTF-8"?>
    2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    5. version="4.0">
    6. <servlet>
    7. <servlet-name>springmvcservlet-name>
    8. <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    9. <init-param>
    10. <param-name>contextConfigLocationparam-name>
    11. <param-value>classpath:springmvc-servlet.xmlparam-value>
    12. init-param>
    13. <load-on-startup>1load-on-startup>
    14. servlet>
    15. <servlet-mapping>
    16. <servlet-name>springmvcservlet-name>
    17. <url-pattern>/url-pattern>
    18. servlet-mapping>
    19. web-app>

    pom.xml(外面那个):

    1. <dependencies>
    2. <dependency>
    3. <groupId>junitgroupId>
    4. <artifactId>junitartifactId>
    5. <version>4.12version>
    6. dependency>
    7. <dependency>
    8. <groupId>org.springframeworkgroupId>
    9. <artifactId>spring-webmvcartifactId>
    10. <version>5.1.9.RELEASEversion>
    11. dependency>
    12. <dependency>
    13. <groupId>javax.servletgroupId>
    14. <artifactId>servlet-apiartifactId>
    15. <version>2.5version>
    16. dependency>
    17. <dependency>
    18. <groupId>javax.servlet.jspgroupId>
    19. <artifactId>jsp-apiartifactId>
    20. <version>2.2version>
    21. dependency>
    22. <dependency>
    23. <groupId>javax.servletgroupId>
    24. <artifactId>jstlartifactId>
    25. <version>1.2version>
    26. dependency>
    27. dependencies>

    配置完tomcat之后直接run。之后路径上输入hello测试


    404问题:

     

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

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

    将这些全部导入,apply之后OK即可。


    理解:

    大致分为这三部分,对照视频理解每个文件级代码块的作用。


    注解开发:

    HelloController:

    1. package com.Li.controller;
    2. import org.springframework.stereotype.Controller;
    3. import org.springframework.ui.Model;
    4. import org.springframework.web.bind.annotation.RequestMapping;
    5. @Controller
    6. //@RequestMapping("/hello")看第11行的注释,如果这行不注释的话,就是11行的效果
    7. public class HelloController {
    8. //localhost:8080/hello/h1
    9. @RequestMapping("/h1")
    10. public String hello(Model model){
    11. //封装数据,向模型中添加值,可以在JSP页面取出并渲染
    12. model.addAttribute("msg", "Hello,SpringMVCAnnotation");
    13. return "hello";//会被视图解析器处理
    14. }
    15. }

     springmvc-servlet.xml:

    1. "1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xmlns:context="http://www.springframework.org/schema/context"
    5. xmlns:mvc="http://www.springframework.org/schema/mvc"
    6. xsi:schemaLocation="http://www.springframework.org/schema/beans
    7. http://www.springframework.org/schema/beans/spring-beans.xsd
    8. http://www.springframework.org/schema/context
    9. https://www.springframework.org/schema/context/spring-context.xsd
    10. http://www.springframework.org/schema/mvc
    11. https://www.springframework.org/schema/mvc/spring-mvc.xsd">
    12. <context:component-scan base-package="com.Li.controller"/>
    13. <mvc:default-servlet-handler />
    14. <mvc:annotation-driven />
    15. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
    16. id="internalResourceViewResolver">
    17. <property name="prefix" value="/WEB-INF/jsp/" />
    18. <property name="suffix" value=".jsp" />
    19. bean>
    20. beans>

    hello.jsp:

    1. <%--
    2. Created by IntelliJ IDEA.
    3. User: Li
    4. Date: 2022/12/2
    5. Time: 22:55
    6. To change this template use File | Settings | File Templates.
    7. --%>
    8. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    9. <html>
    10. <head>
    11. <title>Titletitle>
    12. head>
    13. <body>
    14. ${msg}
    15. body>
    16. html>

    web.xml:

    1. "1.0" encoding="UTF-8"?>
    2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    5. version="4.0">
    6. <servlet>
    7. <servlet-name>SpringMVCservlet-name>
    8. <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    9. <init-param>
    10. <param-name>contextConfigLocationparam-name>
    11. <param-value>classpath:springmvc-servlet.xmlparam-value>
    12. init-param>
    13. <load-on-startup>1load-on-startup>
    14. servlet>
    15. <servlet-mapping>
    16. <servlet-name>SpringMVCservlet-name>
    17. <url-pattern>/url-pattern>
    18. servlet-mapping>
    19. web-app>

    测试:

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

  • 相关阅读:
    End-to-End Object Detection with Transformers(论文解析)
    一条命令彻底卸载Linux自带多个版本jdk
    使用ScottPlot库在.NET WinForms中快速实现大型数据集的交互式显示
    YOLOv5分类任务——手势识别
    P1151 子数整数
    Qt字符串类应用与常用基本数据类型
    vite自定义打包路径
    网络协议:TCP/IP协议
    微信小程序 movable-view 控制长按才触发拖动 轻轻滑动页面正常滚动效果
    【vue】 vue2 监听滚动条滚动事件
  • 原文地址:https://blog.csdn.net/m0_54842832/article/details/128135803