首页 > 代码库 > Spring MVC 环境搭建(一)

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.RELEASE\libs 目录的下 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="http://www.mamicode.com/WEB-INF/jsp" />

    <property name="suffix" value="http://www.mamicode.com/.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 环境搭建完成。

技术分享

技术分享

结果:

技术分享


源码来源地址:minglisoft.cn/technology

Spring MVC 环境搭建(一)