SpringMVC基础配置笔记

请注意,本文编写于 121 天前,最后修改于 82 天前,其中某些信息可能已经过时。

SpringMVC配置

1.在类资源路径下,创建SpringMVC.xml配置文件,导入context名称空间,配置包扫描标签

<context:component-scan base-package="com.atguigu"></context:component-scan>

2.在web.xml配置文件中添加<servlet>标签,并在标签体内指定<servlet-name> <init-param> <load-on-startup>对应的值,具体如下

<servlet>
        <servlet-name>springDispatcherServlet</servlet-name>
        <!--DispatcherServlet的全限定类名-->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <!-- contextConfigLocation:指定SpringMVC配置文件位置 -->
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

3.添加<servlet-mapping>请求映射标签

<servlet-mapping>
        <servlet-name>springDispatcherServlet</servlet-name>

<!--
        <url-pattern>/</url-pattern>
        /:拦截所有请求,不拦截jsp页面
        /*拦截所有请求,拦截jsp页面
        处理:*.jsp是tomcat做的事

-->
        <url-pattern>/</url-pattern>
    </servlet-mapping>

4.在对应的控制器类中添加@Controller注解,添加到ioc容器中

5.在需要映射的方法上添加@RequestMapping("/pages/hello02.jsp")注解,字符串值为请求的资源全路径

6.也可以在SpringMVC.xml配置文件中添加视图解析器,可以简化方法返回值,方法返回值就是作为目标页面地址,只不过解析器帮我们拼串

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/pages/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

笔记:

/**
     * RequestMapping的其他属性
     * method:限定请求方式
     *      http协议中的请求方式:
     *      get/post
     * params:规定请求参数
     *      params: params = {"params1=xxx","params2=xxx"}可以规定多个参数
     *              params = {"params1=xxx","!xxxx"}请求必须满足params1=xxx且params1不等于xxxx
     *              params = {"username"},请求中必须包含一个名为username的参数
     *              params = {"username=124"},请求中必须包含一个名为username的参数且值为124
     *              params = {"username!=124"},请求中必须包含一个名为username的参数且值不为124
     * headers:规定请求头,和params一样能写简单的表达式
     *      headers
     * consumes;规定请求头中的Content-Type
     * produces:告诉浏览器返回的内容是什么,给响应头加上Content-Type:text:html;charset=utf-8
     */
    @RequestMapping(value = "/handle02",method = RequestMethod.GET)
    public String handle02() {
        return "success";
    }
/**
     * 占位符:
     *      ?匹配一个字符,0个或多个不行
     *          多个匹配的情况下精确优先
     *      *任意多个字符
     *          0个或任意多个,精确优先
     *          *也可以匹配一层路径
     *      **:匹配多层路径
     * @return
     */
    @RequestMapping(value = "/handle0?")
    public String handle03() {
        return "success";
    }

添加新评论

请不要水评论

评论列表