SpringMVC的配置

简介: SpringMVC的配置

SpringMVC的配置(一):

1、新建一个项目,添加web的支持

2、导入SpringMVC依赖

<!--JSP-->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>
        <!--spring系列-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.9</version>
        </dependency>
        <!--servlet-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
        </dependency>
        <!--jsp-jstl-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

3.在web.xml里面注册DispatcherServlet

<?xml version="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">
    <!--1.注册DispatcherServlet-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--关联一个springmvc的配置文件:【servlet-name】-servlet.xml-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <!--启动级别-1-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!--/ 匹配所有的请求;(不包括.jsp)-->
    <!--/* 匹配所有的请求;(包括.jsp)-->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

4.编写SpringMVC的配置文件

<?xml version="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"> 
</beans>

5.添加处理映射器

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

6.添加处理器适配器

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter "/>

7.添加视图解析器

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>

8.编写Controller

public class HelloController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        //ModelAndView 模型和视图
        ModelAndView mv = new ModelAndView();
        //封装对象,放在ModelAndView中。Model
        mv.addObject("msg", "HelloSpringMVC!");
        //封装要跳转的视图,放在ModelAndView中
        mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
        return mv;
    }
}

9.注册到bean里面

<bean id="/hello" class="com.lili.controller.HelloController"/>

10.编写需要跳转的jsp页面,

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

11.配置tomcat启动测试即可

(二)注解版

1、基于上面一些配置,我们只需要改动一些部分,在springmvc-servlet.xml配置文件中完整代码如下:

<?xml version="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
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!--自动扫描指定包下的注解,将他放到Spring的IOC容器-->
    <context:component-scan base-package="com.lili.controller"/>
    <!--静态资源过滤处理-->
    <mvc:default-servlet-handler/>
    <!--注解驱动
        在spring中一般采用@RequestMapping注解来完成映射关系
        要想使@RequestMapping注解生效
        必须向上下文中注册DefaultAnnotationHandlerMapping
        和一个AnnotationMethodHandlerAdapter实例
        这两个实例分别在类级别和方法级别处理。
        而annotation-driven配置帮助我们自动完成上述两个实例的注入。
    -->
    <mvc:annotation-driven/>
        <!--视图解析器:DispatcherServlet给他的ModelAndView-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
            <!--前缀-->
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <!--后缀-->
            <property name="suffix" value=".jsp"/>
        </bean>
</beans>

2、编写一个Controller

@Controller
public class HelloController2 {
    @RequestMapping("/hello")
    public String hello(Model model){
        model.addAttribute("msg","hello");
        return "hello";
    }
}
  • @Controller 是为了可以被扫描到
  • @RequestMappinig用来设置请求路径

3.重启tomcat,访问对应的请求路径即可。

小结:

使用springMVC必须配置的三大件:

处理器映射器、处理器适配器、视图解析器

通常,我们只需要手动配置视图解析器,而处理器映射器处理器适配器只需要开启注解驱动即可,而省去了大段的xml配置,在实际开发中,当然是倾向于使用注解的方式

目录
相关文章
|
前端开发 Java 网络架构
|
4月前
|
Web App开发 JSON 前端开发
SpringMVC(二)
SpringMVC(二)
22 0
|
6月前
|
Java 容器 Spring
SpringMVC 注解配置SpringMVC
SpringMVC 注解配置SpringMVC
36 0
|
6月前
|
JSON 前端开发 Java
SpringMVC
SpringMVC
|
前端开发 应用服务中间件
SpringMVC4
SpringMVC4
44 0
|
前端开发 Java Spring
你真的了解SpringMVC吗?(下)
你真的了解SpringMVC吗?(下)
59 0
|
6月前
|
Java Spring 容器
SpringMVC之注解配置SpringMVC
【1月更文挑战第20天】SpringMVC之注解配置SpringMVC
73 0
|
6月前
|
XML Java 应用服务中间件
SpringMVC与Servlet3.0整合 - ServletContainerInitializer注解配置项目
SpringMVC与Servlet3.0整合 - ServletContainerInitializer注解配置项目
52 1
|
6月前
|
XML 前端开发 Java
SpringMvc专题
SpringMvc笔记(持续更新)
|
前端开发 Java Maven
SpringMVC1
SpringMVC1
83 0
SpringMVC1