【学习笔记】SpringMVC第一个程序

SpringMVC第一个程序

  1. 新建一个项目,导入依赖

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>6.0.3</version>
    </dependency>
  2. 给这个项目添加web支持

    image-20230224145040457

  3. 配置web.xml,在其中注册DispatchterServlet,并且关联springmvc配置文件springmvc-servlet.xml

    <!--    1.注册DispatcherServlet-->
        <servlet>
            <servlet-name>springmvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:springmvc-servlet.xml</param-value>
            </init-param>
    ​
        </servlet>
    <!--    匹配所有请求-->
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>

    DispatchterServlet是spring写好的,我们可以直接注册使用

  4. 在spring配置文件(springmvc-servlet.xml)中配置

    • 添加处理映射器

    • 添加处理器适配器

    • 添加视图解析器

    <!--添加处理映射器-->
        <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>

    视图解析器就是,给请求的路径,加上前缀和后缀,因为请求的路径并不是完整的路径

    原本转发或重定向时:

    req.getRequestDispatcher("/WEN-INF/jsp/test.jsp").forword(req,resp);

    现在只需要写 test 即可

  5. 编写业务Controller,需要实现接口Controller,返回一个ModelAndView

    public class HelloController implements Controller {
        @Override
        public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
    ​
            //ModelAndView 模型和视图
            ModelAndView mv = new ModelAndView();
    ​
            //封装对象,放在ModelAndView中,在jsp中可以直接取
            mv.addObject("msg","HelloSpringMVC");
            //封装要跳转的视图,即jsp,这里就是与web.xml中的拼接
            mv.setViewName("hello");
    ​
            return mv;
        }
    }
  6. 将自己写的HelloController,注册到spring容器中

    <bean id="/hello" class="com.wang.conltroller.HelloController"/>
  7. 编写要跳转的jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>springMVC</title>
    </head>
    <body>
    ${msg}
    </body>
    </html>

     

遇到的问题:找不到资源,报404,原因就是IDEA中没有我们在pom.xml中导入的依赖

我们需要手动将jar包添加到项目lib目录中

posted @ 2023-02-24 16:59  GrowthRoad  阅读(9)  评论(0编辑  收藏  举报