开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 1704|回复: 0

Spring MVC 环境搭建(一)

[复制链接]

0

精华

0

贡献

8

赞扬

帖子
40
软币
219
在线时间
7 小时
注册时间
2017-6-13
发表于 2017-6-19 15:15:40 | 显示全部楼层 |阅读模式
一、建立 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 时会作为分配置文件一并加载。

file:///C:/Users/admin/AppData/Local/Temp/enhtmlclip/2(1).jpg
4、在 WEB-INF   下建立 jsp 文件夹(命名可自取),用来存放相关的 jsp 文件(MVC 的 View)。
5、在 WEB-INF 下建立 lib 文件夹(命名固定),用来存放相关的 jar 包。
6、在 WEB-INF 下建立 web.xml 文件(命名固定)。
二、Spring 安装官方下载地址: http://maven.springframework.org/release/org/springframework/spring/
1、从官网下载需要的版本,比如 spring-framework-4.1.9.RELEASE-dist.zip。
2、解压,将 \spring-framework-4.1.9.RELEASE\libs 目录的下 jar 包拷贝到项目的 lib 目录下:

file:///C:/Users/admin/AppData/Local/Temp/enhtmlclip/1(1).jpg
(一)、关于 servletservlet 是在服务器上运行的小程序,譬如用 java 编写的 server 端程序。大致过程如下:
1、客户端(浏览器)访问网站,网站发送请求至服务器(tomcat 或 weblogic 等);
2、服务器将请求信息发送至 servlet。
3、servlet 生成响应内容(我们写的程序控制响应)并将其传送给服务器。
4、服务器将响应返回给客户端。
5、客户端进行展示。
云服务
子系统:后台管理系统、Restfu服务系统、Dubbo服务/管控/监控中心
Zookeeper注册中心、报表分析系统、日志记录系统、定时调度系统
搜索引擎系统、分布式文件系统、消息系统、SSO单点登录系统
SOA管控平台、UI组件系统、OA办公系统、CMS新闻发布系统
支付系统、数据库配置系统、工作流系统、云服务平台


三、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 名称要对应):

file:///C:/Users/admin/AppData/Local/Temp/enhtmlclip/3(1).jpg

(二)、 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。

file:///C:/Users/admin/AppData/Local/Temp/enhtmlclip/4(1).jpg
6、加入 spring 项目启动必须的依赖包

file:///C:/Users/admin/AppData/Local/Temp/enhtmlclip/%E5%B0%91%E5%8C%85.jpg
解决:

file:///C:/Users/admin/AppData/Local/Temp/enhtmlclip/%E5%B0%91%E5%8C%85%E8%A7%A3%E5%86%B3.jpg7、spring MVC 环境搭建完成。




欢迎大家一起学习研究相关技术愿意了解框架技术或者源码的朋友直接加求求(企鹅):2042849237
更多详细源码参考来源:http://minglisoft.cn/technology



回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-3-29 16:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表