• springMVC框架在项目中的搭建


        第一步:构建Web项目
        第二步:导入所需jar包
        第三步:配置前端控制器DispatcherServlet
        第四步:编写Controller控制器(也称为Handler处理器)
        第五步:配置处理器映射器(可省去,有默认配置)
        第六步:配置处理器适配器(可省去,有默认配置)
        第七步:配置视图解析器(可省去,有默认配置,但是前缀和后缀都为"",一般要写)
        第八步:配置控制器/处理器

    配置前端控制器DispatcherServlet以及需要读取的xml配置文件:

    SpringMVC的前端控制器就是一个Servlet对象,继承自HttpServlet,所以需要在web.xml文件中配置。


            例如:
              <servlet>
                <servlet-name>SpringMVC</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                <load-on-startup>1</load-on-startup>
              </servlet>
              <servlet-mapping>
                <servlet-name>SpringMVC</servlet-name>
                <url-pattern>*.action</url-pattern>
              </servlet-mapping>

            如上配置,框架会自动去当前应用的WEB-INF目录下查找名字为SpringMVC-servlet.xml文件(默认前缀和<servlet-name>标签中的值一致)。
            也可以自己指定配置文件的名字和位置:
                <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:spring-web-mvc.xml</param-value>
                </init-param>
                <load-on-startup>1</load-on-startup>
            </servlet>
            <servlet-mapping>
                <servlet-name>SpringMVC</servlet-name>
                <url-pattern>*.action</url-pattern>
            </servlet-mapping>

            
            注意:
                配置文件在WEB-INF下:
                <param-value>/WEB-INF/spring-web-mvc.xml</param-value>
                配置文件在classpath下:
                <param-value>classpath:spring-web-mvc.xml</param-value>


    配置前端控制器中的映射路径:

    1)拦截所有请求 /
            <url-pattern>/</url-pattern>,配置中使用的是/,而不是/*,如果使用/*,controller返回的时候,如返回的jsp也会被再次拦截,会导致404

    2)自定义拦截请求的后缀名

    如*.do,*.html,... 如:/user/add.do

    弊端:
                Controller的后缀只能固定成某一个

    3)静态资源的访问

    如果DispatcherServlet拦截"*.do"这样的有后缀的URL,不存在这样的问题,

    解决方式一:利用Tomcat的defaultServlet来处理静态文件

    <servlet-mapping>
                <servlet-name>default</servlet-name>
                <url-pattern>*.css</url-pattern>
                <url-pattern>*.js</url-pattern>
                <url-pattern>*.png</url-pattern>
            </servlet-mapping>

    要写在DispatcherServlet的前面(和tomcat版本有关),让defaultServlet先拦截请求,    这样请求就不会进入Spring了

    解决方式二: 使用<mvc:resources>标签

    <mvc:resources mapping="/js/**" location="/js/"/> 

    <mvc:resources mapping="/css/**" location="/css/"/>

    mapping: 映射
            两个*,表示映射指定路径下所有的URL,包括子路径
            location:本地资源路径

    解决方式三: 使用<mvc:default-servlet-handler/>标签
            在spring配置文件中加入此标签配置即可

  • 相关阅读:
    Eclipse中SVN插件的安装方式
    Javascript实现DIV滚动自动滚动到底部
    Android程序开发的环境配置
    Android程序开发基础之——页面布局
    TinyMCE使用手册
    PHP中使用mktime获取时间戳的一个黑色幽默
    VS11本地IIS调试时(URL不使用虚拟目录,直接用localhost)
    [VS扩展工具] Image Optimizer(图像优化压缩)
    [程序安装包制作] Advanced Installer 备忘
    安装VS2010 SP1时遇到WCF RIA Service 版本错误
  • 原文地址:https://www.cnblogs.com/wskb/p/10939468.html
Copyright © 2020-2023  润新知