搭建基于spring MVC框架 + RESTful架构风格技术总结

实战篇:

在SpringMVC框架中搭建RESTful架构风格来完成客户端与服务器端的低耦合度、可扩展性、高并发与大数据流量的访问。

用RESTful架构的创建步骤:

1.创建一个全新的Web工程

2.导包,导入所需要的所有第三方jar包。(springMVC+Hibernate的基本包是必须的)

3.作配置,针对不同的项目需求和不同的搭建设计,开发人员可以按照自己的编码风格来设计符合项目开发具体

应该用多少篇配置文件。但是这几篇配置文件是必不可少的:

3-1.web.xml配置文件:最基本的配置如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/javaee"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

id="WebApp_ID" version="2.5">

<display-name>epetrestful</display-name>

<servlet>

<servlet-name>springMVCReSTful</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:config/spring/spring-action.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>springMVCReSTful</servlet-name>

<url-pattern>/</url-pattern><!-- 直接通过/去匹配路径 -->

</servlet-mapping>

<!-- 如果有乱码我们则需要配置字符编码集的过滤器来防止乱码问题 -->

<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>/*</url-pattern>

</filter-mapping>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

<welcome-file>login.html</welcome-file>

</welcome-file-list>

</web-app>

注:

3-2.配置spring-commoms.xml文件。(要注意我们需要将连接数据库资源的信息用一篇外部的database.prpertise的属性文件来

具体的配置到该spring-commoms.xml的配置文件中)最基本的配置如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"

default-autowire="byName">

<!-- 告知外部的database.propertise文件到spring容器中 -->

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="location"></property><!--这里name属性的值必须是location,它是在

PropertyPlaceholderConfigurer类中调用了这个location的属性-->

<list>

<value>classpath:database.prppertise</value><!-- 绑定外部写的database.prppertise属性文件的路径 -->

</list>

</bean>

<!-- 配置数据源的驱动连接,这样配置的优势在于:效率得到了提高,具有pool池,我们在进行增删

改查时就不用每次都要连接数据库这样的一个操作。 -->

<bean id="dataSoure" class="org.apache.commons.dbcp.BasicDataSource" >

<property name="driverClassName">

<value>${driverClassName}</value>

</property>

<property name="url">

<value>${url}</value>

</property>

<property name="username">

<value>${username}</value>

</property>

<property name="password">

<value>${password}</value>

</property>

</bean>

<!-- 告知Hibernate的sessionFactory -->

<bean id="sessionFactory"

class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

<property name="dataSource" ref="dataSoure"></property>

<property name="hibernateProperties"></property>

<props key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</props>

<props key="hibernate.show_sql">true</props>

<props key="hibernate.format_sql">true</props>

<property name="packagesToScan">

<list>

<value>com.lh.model</value>

</list>

</property>

</bean>

<!-- 事物管理器的配置 -->

<bean id="transactionManager"

class="org.springframework.orm.hibernate4.HibernateTransactionManager">

<property name="sessionFactory" ref="sessionFactory"></property>

</bean>

<!-- 扫描Spring注解的配置 -->

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

<!-- 添加注解事物支持的配置 -->

<tx:annotation-driven transaction-manager="transationManager"></tx:annotation-driven>

</beans>

3-3.配置一篇spring-action.xml文件(其中在该配置文件中需要将上面的spring-commoms.xml的配置

文件导入到其间,这里体现了在轻量级的spring容器中spring MVC框架是包含在spring容器之中的。)

基本配置如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:aop="http://www.springframework.org/schema/aop"

xmlns:tx="http://www.springframework.org/schema/tx"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"

default-autowire="byName"

>

<!--导入外部的spring-commons.xml的配置文件 -->

<import resource="classpath:config/spring/spring-commons.xml"/>

<!--配置spring MVC的注解 驱动 -->

<mvc:annotation-driven/>

<!--配置静态文件  -->

<mvc:default-servlet-handler/>

</beans>

故,综上所述:在一个用spring MVC框架来实现RESTful架构风格的互联网终端接口至少都需要3篇

或3篇以上的配置文件(关键看程序员自己的风格来决定)。

4.设计页面(可用html,jsp)

5.书写model类(表现层),因为后端的开发用到了Hibernate框架的(ORM映射)对象关系映射技术,故,model的对象属性要与数据库表的字段

相对应,于此,才能达到关系数据库和面向对象之间的映射(即采用hibernate的注解形式将关系和对象进行绑定)。

6.书写dao(数据访问层)和daoImpl(接口实现类)。

7.书写service(业务层)和serviceImpl(接口实现类)。

8.书写单元测试,进行校验功能是否满足要求。

9.重要环节:导入我们在开发过程中所需要使用的所有js,css,jQuery,在一个Web项目中他们都应该放入WebRoot的同级目录下。

时间: 2024-10-12 13:24:08

搭建基于spring MVC框架 + RESTful架构风格技术总结的相关文章

文件上传--基于Spring MVC框架+SmartUpload

这篇文章是介绍文件上传的,由于在spring MVC上实现起来和直接在servlet中写有些不同,所以特地写了一下这篇文章,关于不同点,大家可以先阅读一下上一篇文章.好了,下面直接上代码. jab包是jspSmartUpload.jar,如果有类似的jar包如:commons-fileupload-1.2.2,留一个即可,否则会冲突报错 首先是一个简单的页面(jsp),比较丑,但能用: <%@ page language="java" contentType="text

基于spring mvc 移动终端后台开发

基于spring mvc 移动终端后台开发 研发背景 到年底了,很多项目都要突击完成,我们自己的"问题及知识管理平台"移动端研发也到了不能再拖的地步,所以需要在后台集成移动端框架.由于后台架构采用spring mvc+hibernate,并且近期也深入的研究过spring mvc,所以就不想沿用已有成熟的整合方案<HTML5企业移动应用解决方案V1.0.doc>,尝试完全应用spring framework技术实现移动端后台架构. 根据技术特点和我的一些架构封装想法,给自己

Spring MVC 框架搭建及详解

一.Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar.spring-webmvc.jar.commons-logging.jar.cglib-nodep-2.1_3.jar Hibernate 3.6.8:hibernate3.jar.hibernate-jpa-2.0-api-1.0.1.Final.jar.antlr-2.7.6.jar.commons-collections-3

Spring MVC 框架搭建及具体解释

如今主流的Web MVC框架除了Struts这个主力 外.其次就是Spring MVC了,因此这也是作为一名程序猿需要掌握的主流框架.框架选择多了.应对多变的需求和业务时,可实行的方案自然就多了. 只是要想灵活运用Spring MVC来应对大多数的Web开发,就必需要掌握它的配置及原理. 一.Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar.spring-webmvc.jar.com

spring MVC 框架的搭建(myeclipse +maven)--(上)

spring mvc 的框架搭建过程如下,这个框架建议新手去看,因为搭建的是一个比较简单的矿建,当然里面涉及到的spring +hibernate相关的知识,是值得学习的. 这个项目是基于maven的主要是maven 能够很好的帮我们管理jar 包. spring mvc 框架搭建过程如下: 第一步:使用maven引入springMVC所需要的jar包 引入与springmvc相关的jar包,在pom.xml的<dependencise>标签下添加以下3个jar包 (1) spring-web

搭建 Spring MVC 框架

如果创建一个 Spring 项目 Spring MVC 框架在 Java 的 Web 项目中应该是无人不知的吧,你不会搭建一个 Spring 框架?作为身为一个刚刚学习Java的我都会,如果你不会的话,那可真令人忧伤. 1.在 MyEclipse 创建项目后,可以以选择的方式去配置一个 Spring 项目,这里不在讨论.因为我只用 Eclipse. 2.手动搭建.就是动手. 新建一个 Java Web 项目 1.打开 Eclipse ,在Project Explorer选项卡下面点击右键,选择W

Spring MVC框架搭建

Spring MVC篇一.搭建Spring MVC框架 本项目旨在搭建一个简单的Spring MVC框架,了解Spring MVC的基础配置等内容. 一.项目结构 本项目使用idea intellij创建,配合maven管理.整体的目录结构如图: 其中java文件夹是sources文件夹,resources是资源文件夹.spring文件夹里是Spring上下文配置和Spring MVC配置文件. 需要注意的是,项目自动生成以后会有两个web文件目录,一个是web文件夹(我这里已经删除了),另一个

Spring MVC篇一、搭建Spring MVC框架

本项目旨在搭建一个简单的Spring MVC框架,了解Spring MVC的基础配置等内容. 一.项目结构 本项目使用idea intellij创建,配合maven管理.整体的目录结构如图: 其中java文件夹是sources文件夹,resources是资源文件夹.spring文件夹里是Spring上下文配置和Spring MVC配置文件. 需要注意的是,项目自动生成以后会有两个web文件目录,一个是web文件夹(我这里已经删除了),另一个是默认的webapp文件夹.我这里使用默认的目录,也就是

spring mvc框架常用注解及用途

@Controller:用于标识是处理器类: @RequestMapping:请求到处理器功能方法的映射规则: @RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定: @ModelAttribute:请求参数到命令对象的绑定: @SessionAttributes:用于声明session级别存储的属性,放置在处理器类上,通常列出模型属性(如@ModelAttribute)对应的名称,则这些属性会透明的保存到session中: @InitBinder:自定义数据绑定注册支持,