zoukankan      html  css  js  c++  java
  • Spring MVC 环境搭建(一)

    一、建立 JavaWeb 项目

    1、建立一个 Java 项目。
    2、在项目下新建一个文件夹 webapp (命名可自取,这个目录即是网站根目录),再在该文件夹下新建一个 WEB-INF 文件夹(命名固定),WEB-INF 作为 Tomcat 启动后的安全文件夹,浏览器不能访问到该目录下的资源。tomcat 启动会默认会在此目录下读取相应配置文件。
    3、在 WEB-INF 下建立 web.xml 文件(命名固定),从 tomcat 安装路径 /conf/web.xml 中拷贝基本的文档结构,修改相应编码为 utf-8。tomcat 启动后本身会加载安装路径下的大配置文件 web.xml,当发现我们项目的 WEB-INF 下也存在 web.xml 时会作为分配置文件一并加载。
    4、在 WEB-INF   下建立 jsp 文件夹(命名可自取),用来存放相关的 jsp 文件(MVC 的 View)。
    5、在 WEB-INF 下建立 lib 文件夹(命名固定),用来存放相关的 jar 包。
    6、在 WEB-INF 下建立 web.xml 文件(命名固定)。

    二、Spring 安装

    1、从官网下载需要的版本,比如 spring-framework-4.1.9.RELEASE-dist.zip。
    2、解压,将 spring-framework-4.1.9.RELEASElibs 目录的下 jar 包拷贝到项目的 lib 目录下:

    (一)、关于 servlet

    servlet 是在服务器上运行的小程序,譬如用 java 编写的 server 端程序。大致过程如下:
    1、客户端(浏览器)访问网站,网站发送请求至服务器(tomcat 或 weblogic 等);
    2、服务器将请求信息发送至 servlet。
    3、servlet 生成响应内容(我们写的程序控制响应)并将其传送给服务器。
    4、服务器将响应返回给客户端。
    5、客户端进行展示。

    三、Spring 配置

    (一)、web.xml 配置

    1、打开项目中的 web.xml 添加一个Spring 的 servlet(当然 tomcat 下的 /conf/web.xml 也可以,但一般不会这么做) ,使程序启动时就加载此 servlet。
         
    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
     
    load-on-startup元素标记容器是否在启动的时候就加载这个servlet
    1)它的值必须是一个整数,表示servlet应该被载入的顺序
    2)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
    3)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
    4)正数的值越小,该servlet的优先级越高,应用启动时就越先加载。
    5)当值相同时,容器就会自己选择顺序来加载。
    所以,<load-on-startup>x</load-on-startup>,中x的取值1,2,3,4,5代表的是优先级,而非启动延迟时间。
     
    2、设置 spring url 拦截:
     
    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
     
    <servlet-name>spring</servlet-name> 中的 spring 名字可自取,只要和上文所配的 servlet 名字对应即可。
    表示 url 是 .do 为后缀(后缀名可自取,但一般规范都命名为 .do)的请求都必须经过 spring 的控制。
     
    3、配置字符编码过滤器
     
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
     
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>*.do</url-pattern>
    </filter-mapping>
     
    4、在下 WEB-INF 下创建 spring-servlet.xml (名称(spring)和 web.xml 中配置的 <servlet-name>spring</servlet-name> 中的 spring 名称要对应):
     

    (二)、 Spring-servlet.xml 配置

    该文件主要完成 url 映射配置;页面目录配置;控制器配置。即开始我们的MVC。
     
    1、页面架构(从文档、手册上复制)
     
    <?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-2.5.xsd">
    </beans>
     
    2、页面目录配置。
     
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp" />
        <property name="suffix" value=".jsp" />
    </bean>
     
    配置视图解析器, 指定控制器页面转向的目录及文件后缀。
     
    3、url 映射配置。
     
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/index.do">IndexAction</prop>
            </props>
        </property>
    </bean>
     
    SimpleUrlHandlerMapping 提供了最简单的 URL 映射,通过 Properties 将 URL 和 Controller 对应起来 。
    一个 .do 映射一个控制器。
     
    4、控制器配置
     
    <bean id="IndexAction" class="com.myweb.IndexAction">
        <property name="view">
            <value>index</value>
        </property>
    </bean>
     
    在 bean 中配置有属性(包括 bean 格式的属性)时,bean 对应的 java 文件内必须要定义一个与 property 的 name 名字一样的属性值,并且需要有这个属性值的 getter 和 setter 方法。
     
    5、根据 com.myweb.indexAction 写 controller,完成处理请求的 servlet。
    6、加入 spring 项目启动必须的依赖包
    解决:
    7、spring MVC 环境搭建完成。
    结果:
  • 相关阅读:
    Haskell学习-函数式编程初探
    WebGL展示3D房屋内景
    WebGL光照阴影映射
    简洁后台管理模版
    简单易懂的程序语言入门小册子(1.5):基于文本替换的解释器,递归定义与lambda演算的一些额外说明
    简单易懂的程序语言入门小册子(6):基于文本替换的解释器,引入continuation
    简单易懂的程序语言入门小册子(5):基于文本替换的解释器,递归,不动点,fix表达式,letrec表达式
    谈谈数学
    简单易懂的程序语言入门小册子(4):基于文本替换的解释器,递归,如何构造递归函数,Y组合子
    简单易懂的程序语言入门小册子(3):基于文本替换的解释器,let表达式,布尔类型,if表达式
  • 原文地址:https://www.cnblogs.com/shinejaie/p/5244258.html
Copyright © 2011-2022 走看看