Spring MVC 框架搭建及详解

合集下载

基于spring-mvc.xml和application-context.xml的配置与深入理解

基于spring-mvc.xml和application-context.xml的配置与深入理解

基于spring-mvc.xml和application-context.xml的配置与深⼊理解⽬录前沿1、application-context.xml是全局的2、spring-mvc.xml 是spring mvc的配置(1)application-context.xml配置1、⾸先介绍⼀下启动⼀个项⽬的整体流程:2、现在开始正式讲解applicationContext.xml中的配置内容⾸先准备db.properties 配置⽂件SqlSessionTemplate介绍:applicationContext.xml配置:Spring和Mybatis整合有两种⽅式事务管理的两种⽅式:(2)sping-mvc.xml的配置1.⾃动扫描2.注解驱动3.静态资源处理4.避免IE执⾏AJAX时,返回JSON出现下载⽂件5.启动SpringMVC的注解功能,完成请求和注解POJO的映射6.配置⽂件上传7.配置viewResolver视图解析8.定义跳转的⽂件的前后缀,视图模式配置前沿1、application-context.xml是全局的应⽤于多个serverlet,配合listener⼀起使⽤,web.xml中配置如下:<!-- 配置监听器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param>2、spring-mvc.xml 是spring mvc的配置web.xml中配置如下:<!--配置springmvc DispatcherServlet--><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:config/spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup><async-supported>true</async-supported></servlet>application-context.xml这个⼀般是采⽤⾮spring mvc架构,⽤来加载Application Context。

spring MVC原理及配置

spring MVC原理及配置

spring MVC原理及配置springmvc原理及配置springmvc原理及配置1.springmvc详述:springmvc就是spring提供更多的一个强悍而有效率的web框架。

借助注释,springmvc提供更多了几乎就是pojo的研发模式,使控制器的研发和测试更加直观。

这些控制器通常不轻易处置命令,而是将其委托给spring上下文中的其他bean,通过spring的倚赖转化成功能,这些bean被转化成至控制器中。

springmvc主要由dispatcherservlet、处理器映射、处理器(控制器)、视图解析器、视图组成。

他的两个核心是两个核心:处理器映射:选择使用哪个控制器来处理请求视图解析器:选择结果应该如何渲染通过以上两点,springmvc确保了如何挑选掌控处置命令和如何挑选视图展现出输入之间的松耦合。

2.springmvc运行原理这里写图片描述(2)找寻处理器:由dispatcherservlet控制器查阅一个或多个handlermapping,找出处置命令的controller。

(3)调用处理器:dispatcherservlet将请求提交到controller。

(4)(5)调用业务处置和回到结果:controller调用业务逻辑处置后,回到modelandview。

3.springmvc接口解释(1)dispatcherservlet接口:spring提供的前端控制器,所有的请求都有经过它来统一分发。

在dispatcherservlet将请求分发给springcontroller 之前,需要借助于spring提供的handlermapping定位到具体的controller。

(2)handlermappingUSB:能够完成客户请求到controller映射。

(3)controller接口:须要为mammalian用户处置上述命令,因此同时实现controllerUSB时,必须确保线程安全并且可以器重。

Spring MVC 简明教程

Spring MVC 简明教程

Spring框架从创建伊始就致力于为复杂问题提供强大的、非侵入性的解决方案。

Spring 2.0当中为缩减XML配置文件数量引入定制命名空间功能,从此它便深深植根于核心Spring框架(aop、context、jee、jms、 lang、tx和util命名空间)、Spring Portfolio项目(例如Spring Security)和非Spring项目中(例如CXF)。

Spring 2.5推出了一整套注解,作为基于XML的配置的替换方案。

注解可用于Spring管理对象的自动发现、依赖注入、生命周期方法、Web层配置和单元/集成测试。

探索Spring 2.5中引入的注解技术系列文章由三部分组成,本文是其中的第二篇,它主要讲述了Web层中的注解支持。

最后一篇文章将着重介绍可用于集成和测试的其它特性。

这个系列文章的第一部分论述了Java注解(annotation)是如何代替XML来配置Spring管理对象和依赖注入的。

我们再用一个例子回顾一下:@Controllerpublic class ClinicController {private final Clinic clinic;@Autowiredpublic ClinicController(Clinic clinic) {this.clinic = clinic;}...@Controller表明ClinicController是Web层组件,@Autowired请求一个被依赖注入的Clinic实例。

这个例子只需要少量的XML语句就能使容器识别两个注解,并限定组件的扫描范围:<context:component-scanbase-package="org.springframework.samples.petclinic"/>这对Web层可谓是个福音,因为在这层Spring的XML配置文件已日益臃肿,甚至可能还不如层下的配置来得有用。

springmvc框架搭建之xml配置说明(spring4+hibernate4)

springmvc框架搭建之xml配置说明(spring4+hibernate4)

SpringMVC框架搭建说明Spring4.1.4 + hibernate4.3.81、web.xml配置程序运行时从web.xml开始,加载顺序为:context-param -> listener -> filter ->structs (如果使用structs的话)-> servlet如下为web.xml的配置说明<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"><!—-显示项目名称--><display-name>bmymis2</display-name><!-- 指定配置文件位置,contextConfigLocation是ContextLoaderListener中的一个参数,通过该参数在ContextLoaderListener中加载applicationContext-*.xml,并装配ApplicationContext --> <context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext-*.xml</param-value></context-param><!-- 定义SPRING监听器,启动Web容器时,自动装配ApplicationContext的配置信息--><listener><listener-class>org.springframework.web.context.ContextLoaderListener </listener-class></listener><!—-字符编码过滤器,解决中文乱码问题--><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><!—- springmvc配置--><servlet><servlet-name>springServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet </servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath*:/spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup> //容器启动时首先初始化该servlet </servlet><servlet-mapping><servlet-name>springServlet</servlet-name><url-pattern>/</url-pattern> //表示所有页面都由springmvc处理</servlet-mapping><!—-浏览器输入到项目名,默认打开如下配置页面--><welcome-file-list><welcome-file>/web/login.jsp</welcome-file></welcome-file-list><!—-错误跳转页面--><error-page><error-code>404</error-code><location>/404.html</location></error-page></web-app>2、applicationContext-common.xml配置:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:context="/schema/context"xmlns:xsi="/2001/XMLSchema-instance"xmlns:tx="/schema/tx"xmlns:aop="/schema/aop"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-4.0.xsd/schema/context/schema/context/spring-context-4.0.xsd/schema/aop/schema/aop/spring-aop-4.0.xsd/schema/tx/schema/tx/spring-tx-4.0.xsd"><!-- 加载资源文件其中包含变量信息,必须在Spring配置文件的最前面加载,即第一个加载--><context:property-placeholder location="classpath:application.properties"/><!—-扫描包路径选项,使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入,有了该配置,那么<context:annotation-config/>这个配置就可以省略(以下配置包含了<context:annotation-config/>配置)--><context:component-scan base-package="xxx.xxx.xxx"/><!-- 数据源配置,使用应用内的DBCP数据库连接池 --><bean id="dataSource" class="mons.dbcp.BasicDataSource"destroy-method="close"><!-- 定义数据库连接池数据源bean destroy-method="close"的作用是当数据库连接不使用的时候,就把该连接重新放到数据池中,方便下次使用调用--><property name="driverClassName" value="${jdbc.driverClassName}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${ername}"/><property name="password" value="${jdbc.password}"/></bean><!—Hibernate的注解配置 --><bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="hibernateProperties"><props><prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop><prop key="hibernate.dialect">${hibernate.dialect}</prop><prop key="hibernate.show_sql">${hibernate.show_sql}</prop></props></property><property name="packagesToScan" value="xxx.xxx.xxx.model" /></bean><!-- 配置Hibernate事务管理器 --><bean id="transactionManager"class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/></bean><!-- 配置事务异常封装 --><bean id="persistenceExceptionTranslationPostProcessor"class="org.springframework.dao.annotation.PersistenceExceptionTranslationPost Processor"/><!-- 声明式容器事务管理 ,transaction-manager指定事务管理器为transactionManager --> <tx:advice id="txAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="add*" propagation="REQUIRED"/><tx:method name="get*" propagation="REQUIRED"/><tx:method name="*" read-only="true"/></tx:attributes></tx:advice><aop:config expose-proxy="true"><!-- 只对业务逻辑层实施事务 --><aop:pointcut id="txPointcut"expression="execution(*xxx.xxx.xxx.service..*.*(..))"/><!-- Advisor定义,切入点和通知分别为txPointcut、txAdvice --><aop:advisor pointcut-ref="txPointcut" advice-ref="txAdvice"/> </aop:config></beans>3、application.properties配置jdbc.driverClassName=org.postgresql.Driverjdbc.url=jdbc:postgresql://ip:5432/数据库名ername=postgresjdbc.password=123hibernate.dialect=org.hibernate.dialect.PostgreSQLDialecthibernate.show_sql=truehibernate.format_sql=false4、spring-mvc.xml配置<?xml version="1.0"encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xmlns:p="/schema/p"xmlns:xsi="/2001/XMLSchema-instance"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd/schema/context/schema/context/spring-context-3.0.xsd/schema/mvc/schema/mvc/spring-mvc-3.0.xsd/schema/tx/schema/tx/spring-tx-4.0.xsd"><!-- 启用spring mvc 注解 --><mvc:annotation-driven><!-- 自动扫描且只扫描@Controller --><context:component-scan base-package="xxx.xxx.xxx "use-default-filters="false"></context:component-scan><!-- 定义JSP文件的位置 --><beanclass="org.springframework.web.servlet.view.InternalResourceView Resolver"><property name="prefix"value="/jsp/"/><property name="suffix"value=".jsp"/></bean><!-- 容器默认的DefaultServletHandler处理所有静态内容与无RequestMapping处理的URL--> <mvc:default-servlet-handler/><!-- 定义无需Controller的url<->view直接映射 --><mvc:view-controller path="/"view-name="login"/></beans>。

SpringMVC框架搭建流程(完整详细版)

SpringMVC框架搭建流程(完整详细版)

SpringMVC框架搭建流程(完整详细版)SpringMVC框架搭建流程开发过程1)配置DispatcherServlet前端控制器2)开发处理具体业务逻辑的Handler(@Controller、 @RequestMapping)3) xml配置⽂件配置controller扫描,配置springmvc三⼤件4)将xml⽂件路径告诉springmvc(DispatcherServlet)详细流程:创建⽬录新建maven项⽬,注意选择webapp⾻架。

创建成功之后会发现没有src等⽬录,这些需要我们⼿动创建:在src下⾯新建main,main下⾯新建java⽬录,选择java⽬录,右键,在main下⾯继续新建resource⽬录,选择resource⽬录,右键,pom.xmlpom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion><groupId></groupId><artifactId>springmvc-demo</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><piler.source>11</piler.source><piler.target>11</piler.target></properties><dependencies><!--引⼊spring webmvc的依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.1.12.RELEASE</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>8080</port><path>/</path></configuration></plugin></plugins></build></project>注意Tomcat7插件是⽤来运⾏项⽬的,右侧运⾏:springmvc相关配置main⽂件夹下⾯新建webapp⽂件夹,webapp下⾯新建WEB-INF,下⾯新建web.xml<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-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:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><!--⽅式⼀:带后缀,⽐如*.action *.do *.aaa该种⽅式⽐较精确、⽅便,在以前和现在企业中都有很⼤的使⽤⽐例⽅式⼆:/ 不会拦截 .jsp,但是会拦截.html等静态资源(静态资源:除了servlet和jsp之外的js、css、png等)为什么配置为/ 会拦截静态资源因为tomcat容器中有⼀个web.xml(⽗),你的项⽬中也有⼀个web.xml(⼦),是⼀个继承关系⽗web.xml中有⼀个DefaultServlet, url-pattern 是⼀个 /此时我们⾃⼰的web.xml中也配置了⼀个 / ,覆写了⽗web.xml的配置为什么不拦截.jsp呢?因为⽗web.xml中有⼀个JspServlet,这个servlet拦截.jsp⽂件,⽽我们并没有覆写这个配置,所以springmvc此时不拦截jsp,jsp的处理交给了tomcat如何解决/拦截静态资源这件事?⽅式三:/* 拦截所有,包括.jsp--><!--拦截匹配规则的url请求,进⼊springmvc框架处理--><url-pattern>/</url-pattern></servlet-mapping></web-app>⾥⾯配置了springmvc相关的配置,引⼊了springmvc.xml:在resource⽬录下新建springmvc.xml:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beanshttps:///schema/beans/spring-beans.xsd/schema/contexthttps:///schema/context/spring-context.xsd/schema/mvchttps:///schema/mvc/spring-mvc.xsd"><!--开启controller扫描--><context:component-scan base-package=".controller"/><!--配置springmvc的视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean><!--⾃动注册最合适的处理器映射器,处理器适配器(调⽤handler⽅法)--><mvc:annotation-driven/></beans>在java⽬录下新建包.controller,下⾯新建DemoController:package .controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import java.util.Date;/*** @author lyj* @Title: DemoController* @ProjectName springmvc-demo* @Description: TODO* @date 2020/6/9 21:21*/@Controller@RequestMapping("/demo")public class DemoController {/*** http://localhost:8080/demo/handle01*/@RequestMapping("/handle01")public ModelAndView handle01(){Date date=new Date();ModelAndView modelAndView=new ModelAndView();modelAndView.addObject("date",date);modelAndView.setViewName("success");return modelAndView;}}在WEB-INF下⾯新建jsp⽂件夹,下⾯新建success.jsp:<%@ page language="java" isELIgnored="false" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body>当前时间 ${date}</body></html>完毕后整个项⽬结构如下:测试:浏览器访问:。

什么是SpringMVC?

什么是SpringMVC?

什么是SpringMVC?⼀、什么是SpringMVC?1.SpringMVC 是⼀种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow 中。

2.SpringMVC = Spring +MVCspring mvc类似于struts的⼀个MVC开框架,其实都是属于spring,spring mvc需要有spring的架包作为⽀撑才能跑起来.spring是⼀个⼀站式的框架,提供了表现层(springmvc)到业务层(spring)再到数据层(springdata)的全套解决⽅案;spring的两⼤核⼼IOC(控制反转)和AOP(⾯向切⾯编程)更是给我们的程序解耦和代码的简介提供了⽀持。

Spring框架图:从Spring的结构图可以看出,springMVC位于spring web端的⼀个框架,是⼀种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使⽤了MVC架构模式的思想,将web层进⾏职责解耦。

附:基于请求驱动指的就是使⽤请求-响应模型。

从名字上就可以窥探出,Spring>SpringMVC,那么事实上,spring和SpringMVC是⼀种⽗⼦关系。

SpringMVC是spring扩展出的⼀个应⽤于web端的框架。

在这⾥需要注意的⼀点,就是到底什么是⽗⼦容器关系:spring主要的作⽤是黏合其他模块组件,进⾏统⼀管理,springmvc则主要是负责web端。

那么,我们都知道,我们在应⽤spring的时候,可以使⽤注⼊。

这个时候,如果我们的web端是⽤的SpringMVC,这个时候,controller理论上是通过SpringMVC去注⼊,但是,使⽤spring注⼊,同样是可⾏的。

同理,service等层,使⽤SpringMVC配置的统⼀扫描装配也是可以的。

SpringMVC体系结构和处理请求控制器

SpringMVC体系结构和处理请求控制器

SpringMVC体系结构和处理请求控制器MVC设计模式 通常的Web项⽬,架构模式基本分层 数据库访问接⼝:DAO层 处理业务逻辑:Service层 数据实体:POJO 负责前端请求的接受处理:Servlet 负责前端页⾯展⽰:JSP MVC设计模式:它是软件⼯程中的⼀种软件架构模式。

它强制性地使软件系统的输⼊、处理和输出分开。

把软件系统分为三个基本部分:模型(Model)、视图(View)、控制器(Controller) 视图(View):负责格式化数据并把他们呈现给⽤户,包括数据展⽰、⽤户交互、数据验证、界⾯设计等功能。

对应组件:JSP或者HTML⽂件 控制器(Controller):负责接收并转发请求,对进⾏处理后指派视图并将响应结果发送给客户端。

对应组件Servlet 模型(Model):模型对象拥有最多的处理任务,是应⽤程序的主体部分,负责数据逻辑(业务规则)的处理和实现数据操作。

对应组件:JavaBean(处理业务逻辑Service层,数据库操作相关的DAO层,贯穿各层之间的数据模型,数据实体POJO) MVC的两种模式 (1)JSP Model1 业务流程较为简单时,可以把控制器的功能交给视图实现。

故Model1模式只有视图和模型,没有控制器(JSP+JavaBean) 浏览器 - 请求 - JSP - JavaBean - 数据库 - JavaBean - JSP -响应 - 浏览器 (2) JSP Model2 相⽐JSPModel1,业务流程复杂时,就需要把业务流程控制交给控制器来实现。

即(JSP+Servlet+JavaBean) 浏览器 - 请求 - Servlet - JavaBean- JSP - 数据库 - JavaBean - JSP -Servlet -响应 - 浏览器 MVC处理过程 MVC的整体结构,对于MVC三个部分(模型、视图、控制器)功能职责分别进⾏了相应的阐述 (1)⾸先视图提供系统与⽤户交互的界⾯,并发送⽤户输⼊给控制器 (2)控制器接收⽤户的请求,并决定应该调⽤哪个模型来进⾏处理 (3)模型根据⽤户请求进⾏相应的业务逻辑处理,并返回处理结果(数据) (4)控制器根据返回的处理结果,调⽤相应的视图格式化模型返回的数据,并通过视图呈现给⽤户结果 MVC优缺点1. 优点1. 多视图共享⼀个模型,⼤⼤提⾼代码的可重⽤性2. MVC三个模块相互独⽴,松耦合架构3. 控制器提⾼了应⽤程序的灵活性和可配置性4. 有利于软件⼯程化管理 通过MVC的设计模式最终可以打造出⼀个松耦合+⾼重⽤性+⾼可适⽤性的架构 2.缺点1. 原理复杂2. 增加了系统结构和实现的复杂性3. 视图对模型数据的低效率访问 MVC来说:并不适合⼩型甚⾄中型规模的项⽬,花费⼤量时间将MVC应⽤到规模并不是很⼤的应⽤程序通常得不偿失Spring MVC介绍及其环境搭建 Spring MVC框架介绍 Spring MVC是Spring框架中⽤于Web应⽤开发的⼀个模块,是Spring提供的⼀个基于MVC设计式的优秀Web开发框架,本质上相当于Servlet。

springboot目录结构、重要配置文件、重要注解的详解

springboot目录结构、重要配置文件、重要注解的详解

springboot⽬录结构、重要配置⽂件、重要注解的详解前⾯2篇博客已经带着⼤家搭建了springboot项⽬,并编写了持久化接⼝部署到tomcat下访问。

这⾥我们⼀起补充下springboot的基本信息⼀.springboot简单介绍springboot是⽬前流⾏的微服务框架,倡导“约定优于配置”,简化spring项⽬搭建及开发过程。

springboot提供了很多核⼼的功能,⽐如⾃动化配置、starter简化maven配置、内嵌servlet容器、应⽤监控等功能。

稳定的版本后缀带RELEASE。

⼆.⼯程⽬录介绍1./src/main/java:⽬录下放置所有的java⽂件(源代码)2./src/main/resource:存放资源⽂件、如静态资源⽂件、配置⽂件、页⾯⽂件等3./src/main/resource/static:存放静态资源4./src/mian/resource/application.properties:配置⽂件,springboot⽀持.properties和.yml⽂件5./src/main/resources/templates:存放模板⽂件如thymeleaf模板⽂件6./src/test/java:单元测试类java⽂件7./target:放置编译后的.class⽂件、配置⽂件等注意:.properties的⽂件优先级⾼于.yml⽂件。

三.⼊⼝类⼊⼝类的名称是根据项⽬的名称⽣成的,项⽬名称+applicationpackage com.example.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);//应⽤程序开始运⾏的地⽅}}@springbootapplication:是个组合注解,包含@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan,简化项⽬启动。

SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)

SpringMVC+Spring+Mybatis框架配置详细步骤(eclipse普通版)

SSI框架搭建SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6编号:SSI-SMVC3-S3-I3版本:V1.0级别:公开编写时间:2016-02-17目录1 导言 (1)1.1 目的 (1)1.2 范围 (1)1.3 说明 (1)2 搭建SpringMVC (2)2.1 搭建所需jar包 (2)2.2 其他依赖包 (3)2.3 搭建步骤 (4)2.3.1 创建项目 (4)2.3.2 导入jar包 (6)2.3.3 配置web.xml (7)2.3.4 配置spring-servlet.xml (9)2.3.5 配置applicationContext.xml (10)2.3.6 配置log4j.properties (10)3 整合mybatis (11)3.1 整合所需jar包 (11)3.2 其他依赖包 (11)3.3 整合步骤 (11)3.3.1 导入jar包 (11)3.3.2 配置config.properties (12)3.3.3 配置spring-dataSource.xml (12)3.3.4 配置applicationContext.xml (15)3.3.5 配置mybatis-config.xml (16)3.3.6 创建实体model (17)3.3.7 创建实例化dao (19)3.3.8 创建业务服务service (21)3.3.9 创建控制层controller (23)3.3.10 页面代码 (28)3.3.11 启动项目 (37)1导言1.1 目的本文档是根据个人的工作经验搭建的轻量级SSI框架,也是实际应用中比较全面的基础框架,用于指导SSI框架初学者学习搭建SSI框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。

1.2 范围本次框架搭建的版本是SpringMVC3.1.2+Spring3.1.2+Mybatis3.2.6,数据库采用的是mysql,在eclipse开发工具下搭建直接搭建的web项目,页面采用的是h5,ajax实现数据访问,如果页面为jsp等,则修改controller的返回类型即可。

ssm框架流程

ssm框架流程

ssm框架流程SSM框架(Spring+SpringMVC+MyBatis)是目前非常流行的Java Web开发框架,它结合了Spring框架、SpringMVC框架和MyBatis框架的优势,使得开发者可以更加高效地进行Web应用开发。

SSM框架的流程分为前端请求处理、后端分发处理和数据库操作三个步骤。

第一步是前端请求处理,当用户在浏览器中输入URL或者点击页面的链接时,请求会发送到服务器端。

SpringMVC框架的核心是DispatcherServlet,它是前端控制器,负责接收所有请求,并进行第一步的处理。

DispatcherServlet会根据请求的URL找到对应的处理器(Controller),并将请求数据封装成一个包含请求信息的对象。

Controller中的处理方法会处理该请求,并将处理结果封装成一个Model对象,并返回视图名。

第二步是后端分发处理,DispatcherServlet会将Model对象传递给ViewResolver(视图解析器),ViewResolver根据视图名找到对应的视图模板(JSP、HTML等),并将Model对象中的数据填充到视图模板中。

最终,服务器会将填充好数据的视图返回给用户的浏览器。

第三步是数据库操作,MyBatis框架是SSM框架中负责数据库操作的核心组件。

在Controller中,可以通过@Autowired注解注入MyBatis的Mapper接口,并调用接口中定义的方法来实现对数据库的操作。

Mapper接口中定义了增删改查等操作数据库的方法,而对应的SQL语句则是在MyBatis的XML文件中配置的。

MyBatis会读取XML文件,并根据接口方法的名称和参数类型来执行对应的SQL语句,最终将结果返回给Controller。

在整个流程中,Spring框架扮演了框架的骨架角色,它负责依赖注入、事务管理等底层功能。

SpringMVC框架实现了前端请求处理和后端分发处理的功能,它通过DispatcherServlet来接收和分发请求,并将处理结果返回给浏览器。

实现mvc设计模式的一般步骤

实现mvc设计模式的一般步骤

实现MVC设计模式的一般步骤MVC(Model-View-Controller)是一种软件架构模式,旨在将应用程序分成三个核心部分:模型(Model)、视图(View)和控制器(Controller)。

它帮助开发人员将应用程序的表示和业务逻辑进行分离,从而使代码更易于维护和扩展。

在本文中,将介绍实现MVC设计模式的一般步骤。

一、创建模型(Model)1.1 确定应用程序的业务逻辑和数据结构,包括数据实体、数据访问和数据操作等内容。

1.2 根据业务逻辑和数据结构,创建模型类,并定义相关属性和方法。

1.3 实现数据持久化机制,如数据库连接、数据查询和更新等操作。

1.4 编写单元测试,验证模型的正确性和稳定性。

二、创建视图(View)2.1 确定应用程序的用户界面和交互设计,包括用户界面元素、布局和交互方式等内容。

2.2 根据用户界面和交互设计,创建视图模板或页面,并定义相关界面元素和交互行为。

2.3 实现视图与模型的绑定,确保视图能够正确展现模型的数据和状态。

2.4 实现视图的事件处理和用户交互逻辑,如按钮点击、表单提交和输入验证等操作。

三、创建控制器(Controller)3.1 确定应用程序的业务流程和控制逻辑,包括用户请求的路由、处理和响应等内容。

3.2 根据业务流程和控制逻辑,创建控制器类,并定义相关动作和方法。

3.3 实现控制器与模型和视图的交互,确保控制器能够调用模型的方法和更新视图的状态。

3.4 实现控制器的路由设置,将用户请求映射到相应的控制器动作,并处理异常和错误情况。

四、整合模型、视图和控制器4.1 将模型、视图和控制器进行整合,确保它们之间的交互和协作能够顺畅进行。

4.2 测试整合后的MVC架构,保证其能够正确处理用户请求并返回期望结果。

4.3 根据测试结果对模型、视图和控制器进行调优和改进,使其能够更好地满足应用程序的需求。

五、实施和部署5.1 将整合后的MVC架构部署到目标服务器或评台上。

SpringMVC框架知识点详解

SpringMVC框架知识点详解

SpringMVC框架知识点详解官⽅的下载⽹址是:⼀、Spring MVC简介1.1Spring MVC⼯作流程映射器:主要是根据浏览器上输⼊的url来映射所有满⾜要求的Handle(控制器类)适配器:主要是决定调⽤哪个Handler来实现具体的业务逻辑1.2Spring MVC VS Struts21)springmvc的⼊⼝是⼀个servlet,即前端控制器;struts2⼊⼝是⼀个filter过虑器,即前端过滤器,2)springmvc是基于⽅法开发(控制器类是单例的,不可能维护实体变量),传递参数是通过⽅法形参,可以设计为单例;struts2是基于类开发(维护⼀个实体变量),传递参数是通过类的属性,只能设计为多例3)springmvc通过参数解析器是将request对象内容进⾏解析成⽅法形参,将响应数据和页⾯封装成ModelAndView对象,最后⼜将模型数据通过request对象传输到页⾯;struts采⽤值栈存储请求和响应的数据,通过OGNL存取数据4)springmvc开发运⾏速度快于struts2⼆、Spring MVC⼯程搭建(xml)2.1导⼊springioc,springweb , springmvc相关的jar包2.2在/WEB-INF/ web.xml⽂件配置SpringMVC的前端控制器DispatcherServlet(前端控制器)<!-- 注册springmvc核⼼控制器 --><servlet><!-- servlet-name名字随便写 --><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 通知DispatcherServlet去指定的⽬录下加载springmvc.xml配置⽂件classpath:是在⼯程的src路径下寻找如果不配置init-param的话,控制器会⾃动寻找/WEB-INF/<servlet-name>-servlet.xml⽂件--><init-param><!-- 值是固定的,相当于键值对 --><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>*.action</url-pattern>//拦截请求</servlet-mapping>注:在默认情况下:springmvc框架的配置⽂件必须叫<servlet-name>-servlet.xml且必须放在/WEB-INF/⽬录下,我们可以在web.xml⽂件中,为DispatcherServlet配置⼀个初始化参数,让它去我们指定的⽬录下加载springmvc.xml配置⽂件2.3配置springmvc.xml注:该配置⽂件的命名规则遵循web.xml⽂件中核⼼控制器配置。

springMVC配置(XML配置详解)

springMVC配置(XML配置详解)

springMVC配置(XML配置详解)原⽂出⾃:web.xml配置:servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><description>加载/WEB-INF/spring-mvc/⽬录下的所有XML作为Spring MVC的配置⽂件</description><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring-mvc/*.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>*.htm</url-pattern></servlet-mapping>这样,所有的.htm的请求,都会被DispatcherServlet处理;初始化 DispatcherServlet 时,该框架在 web 应⽤程序WEB-INF ⽬录中寻找⼀个名为[servlet-名称]-servlet.xml的⽂件,并在那⾥定义相关的Beans,重写在全局中定义的任何Beans,像上⾯的web.xml中的代码,对应的是dispatcher-servlet.xml;当然也可以使⽤<init-param>元素,⼿动指定配置⽂件的路径;dispatcher-servlet.xml 配置:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:mvc="/schema/mvc"xmlns:p="/schema/p"xmlns:context="/schema/context"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd/schema/context/schema/context/spring-context-3.0.xsd/schema/aop/schema/aop/spring-aop-3.0.xsd/schema/tx/schema/tx/spring-tx-3.0.xsd/schema/mvc/schema/mvc/spring-mvc-3.0.xsd/schema/context/schema/context/spring-context-3.0.xsd"><!--使Spring⽀持⾃动检测组件,如注解的Controller--><context:component-scan base-package="com.minx.crm.web.controller"/><bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"p:prefix="/WEB-INF/jsp/"p:suffix=".jsp" /></beans>第⼀个Controller:package com.minx.crm.web.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class IndexController {@RequestMapping("/index")public String index() {return "index";}}@Controller注解标识⼀个控制器,@RequestMapping注解标记⼀个访问的路径(/index.htm),return "index"标记返回视图(index.jsp);注:如果@RequestMapping注解在类级别上,则表⽰⼀相对路径,在⽅法级别上,则标记访问的路径;从@RequestMapping注解标记的访问路径中获取参数:Spring MVC ⽀持RESTful风格的URL参数,如:@Controllerpublic class IndexController {@RequestMapping("/index/{username}")public String index(@PathVariable("username") String username) {System.out.print(username);return "index";}}在@RequestMapping中定义访问页⾯的URL模版,使⽤{}传⼊页⾯参数,使⽤@PathVariable 获取传⼊参数,即可通过地址:http://localhost:8080/crm/index/tanqimin.htm 访问;根据不同的Web请求⽅法,映射到不同的处理⽅法:使⽤登陆页⾯作⽰例,定义两个⽅法分辨对使⽤GET请求和使⽤POST请求访问login.htm时的响应。

【SpringMVC】RESTFul简介以及案例实现

【SpringMVC】RESTFul简介以及案例实现

【SpringMVC】RESTFul简介以及案例实现RESTful概念REST:Representational State Transfer,表现层资源状态转移。

资源资源是⼀种看待服务器的⽅式,即,将服务器看作是由很多离散的资源组成。

每个资源是服务器上⼀个可命名的抽象概念。

因为资源是⼀个抽象的概念,所以它不仅仅能代表服务器⽂件系统中的⼀个⽂件、数据库中的⼀张表等等具体的东西,可以将资源设计的要多抽象有多抽象,只要想象⼒允许⽽且客户端应⽤开发者能够理解。

与⾯向对象设计类似,资源是以名词为核⼼来组织的,⾸先关注的是名词。

⼀个资源可以由⼀个或多个URI来标识。

URI既是资源的名称,也是资源在Web上的地址。

对某个资源感兴趣的客户端应⽤,可以通过资源的URI与其进⾏交互。

资源的表述资源的表述是⼀段对于资源在某个特定时刻的状态的描述。

可以在客户端-服务器端之间转移(交换)。

资源的表述可以有多种格式,例如HTML/XML/JSON/纯⽂本/图⽚/视频/⾳频等等。

资源的表述格式可以通过协商机制来确定。

请求-响应⽅向的表述通常使⽤不同的格式。

状态转移状态转移说的是:在客户端和服务器端之间转移(transfer)代表资源状态的表述。

通过转移和操作资源的表述,来间接实现操作资源的⽬的。

RESTFul的实现具体说,就是 HTTP 协议⾥⾯,四个表⽰操作⽅式的动词:GET、POST、PUT、DELETE。

它们分别对应四种基本操作:GET⽤来获取资源,POST⽤来新建资源,PUT⽤来更新资源,DELETE⽤来删除资源。

REST 风格提倡URL地址使⽤统⼀的风格设计,从前到后各个单词使⽤斜杠分开,不使⽤问号键值对⽅式携带请求参数,⽽是将要发送给服务器的数据作为 URL 地址的⼀部分,以保证整体风格的⼀致性。

操作传统⽅式REST风格查询操作getUserById?id=1user/1-->get请求⽅式保存操作saveUser user-->post请求⽅式删除操作deleteUser?id=1user/1-->delete请求⽅式更新操作updateUser user-->put请求⽅式如何处理PUT和DELETE请求由于浏览器只⽀持发送get和post⽅式的请求,那么该如何发送put和delete请求呢?SpringMVC 提供了 HiddenHttpMethodFilter 帮助我们将 POST 请求转换为 DELETE 或 PUT 请求HiddenHttpMethodFilter源码public class HiddenHttpMethodFilter extends OncePerRequestFilter {private static final List<String> ALLOWED_METHODS;public static final String DEFAULT_METHOD_PARAM = "_method";private String methodParam = "_method";public HiddenHttpMethodFilter() {}public void setMethodParam(String methodParam) {Assert.hasText(methodParam, "'methodParam' must not be empty");this.methodParam = methodParam;}protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { HttpServletRequest requestToUse = request;if ("POST".equals(request.getMethod()) && request.getAttribute("javax.servlet.error.exception") == null) {String paramValue = request.getParameter(this.methodParam);if (StringUtils.hasLength(paramValue)) {String method = paramValue.toUpperCase(Locale.ENGLISH);if (ALLOWED_METHODS.contains(method)) {requestToUse = new HiddenHttpMethodFilter.HttpMethodRequestWrapper(request, method);}}}filterChain.doFilter((ServletRequest)requestToUse, response);}static {ALLOWED_METHODS = Collections.unmodifiableList(Arrays.asList((), (), ())); }private static class HttpMethodRequestWrapper extends HttpServletRequestWrapper {private final String method;public HttpMethodRequestWrapper(HttpServletRequest request, String method) {super(request);this.method = method;}public String getMethod() {return this.method;}}}源码解析private static final List<String> ALLOWED_METHODS;static {ALLOWED_METHODS = Collections.unmodifiableList(Arrays.asList((), (), ())); }ALLOWED_METHODS是⼀个静态常量类型的字符串List,使⽤静态代码块在类加载时对其进⾏初始化,存储的内容为[PUT,DELETE,PATCH]。

spring配置详解

spring配置详解

spring配置详解1.前⾔公司⽼项⽬的后台,均是基于spring框架搭建,其中还⽤到了log4j.jar等开源架包。

在新项⽬中,则是spring和hibernate框架均有使⽤,利⽤了hibernate框架,来实现持久化,简化sql操作等。

Hibernate配置⽂件可以有两种格式,⼀种是 hibernate.properties,另⼀种是hibernate.cfg.xml。

后者稍微⽅便⼀些,当增加hbm映射⽂件的时候,可以直接在 hibernate.cfg.xml ⾥⾯增加,不必像 hibernate.properties 必须在初始化代码中加⼊。

我们新项⽬中使⽤的是hibernate.cfg.xml格式。

不过在本⽂中不将细述,后续有机会再补上。

公司项⽬中,中间件主要有tomcat,webshpere,WebLogic。

以下,将对项⽬中spring基本配置,log4j的配置,还有中间件的相关参数配置做⼀个初步的介绍。

2.spring配置——以⽼GIS项⽬为例⼦GISV13中的配置涉及到了SpringMVC,IOC,AOP, Quartz⽅⾯的配置。

配置的实现是通过注记配置和XML配置来合作实现。

这⾥,我将按照Spring的配置流程,将其他⼏个⽅⾯的配置融合其中,来进⾏全⾯解析。

2.1SpringMVC的配置2.1.1.web.xml的配置Web程序中,当中间件启动时,中间件会⾸先读取web.xml中的配置。

在web.xml中可以配置监听器,过滤器,servlet映射等等。

在Spring 框架中,我们主要需配置容器初始化时读取的spring容器配置⽂件的路径以及springMVC中的分发器DispatcherServlet。

在GISV13的web.xml中,我们定义了如下内容:InitGISConfigServlet定义了容器启动时,⾸先要运⾏这个⽅法。

然后servletname为MVC的这部分便是定义了springMVC的分发器以及此servlet所对应的加载配置⽂件的路径。

SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)

SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)

SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。

之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。

以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。

这次,先说说三大框架整合过程。

个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。

不过,如果用都不会,谈思想就变成纸上谈兵了!!!先技术,再思想。

实践出真知。

(可通过图片水印查看博客地址)1、基本概念1.1、SpringSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。

它是为了解决企业应用开发的复杂性而创建的。

Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。

然而,Spring的用途不仅限于服务器端的开发。

从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

1.2、SpringMVCSpring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。

Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

1.3、MyBatisMyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。

spring3.0MVC注解(附实例)

spring3.0MVC注解(附实例)

0.提示1) Spring发行版本附带了PetClinic 示例,它是一个在简单的表单处理的上下文中,利用了本节中说明的注解支持的Web应用程序。

可以在“samples/petclinic ”目录中找到PetClinic 应用程序。

2) 另外一个建立在基于注解的Web MVC上的示例应用程序,请见imagedb 。

这个示例集中在无状态的multi-action控制器,包括多段文件上传的处理。

可以在“samples/imagedb ”目录找到imagedb 应用程序。

1.建立dispatcher实现注解支持只有对应的HandlerMapping(为了实现类型级别的注解)和/ 或HandlerAdapter(为了实现方法级别的注解)出现在 dispatcher中时, @RequestMapping 才会被处理。

这在DispatcherServlet 和DispatcherPortlet 中都是缺省的行为。

然而,如果是在定义自己的HandlerMappings或HandlerAdapters,就需要确保一个对应的自定义的DefaultAnnotation HandlerMapping和 /或AnnotationMethod HandlerAdapter同样被定义——假设想要使用@RequestMapping 。

例1:雁联zfpt-servlet.xml例2:web.xml2.1 webAppRootKey2.3 log4jConfigLocation2.4 contextConfigLocation2.5 springSecurityFilterChain2.6 Log4jConfigListener2.7 ContextLoaderListener2.8 DispatcherServlet2.9 exception.java例3:雁联web.xml如果你想要自定义映射策略,显式的定义一个DefaultAnnotationHandlerMapping和 /或AnnotationMethodHandlerAdapter也有实际意义。

springMVC配置文件详解

springMVC配置文件详解

web.xml的配置web.xml应该是整个项目最重要的配置文件了,不过servlet3.0中已经支持注解配置方式了。

在servlet3.0以前每个servlet必须要在web.xml中配置servlet及其映射关系。

但是在spring框架中就不用了,因为Spring中是依赖注入(Dependency Injection)的也叫控制反转(Inversion of Control)。

但是也要配置一个重要的servlet,就是前端控制器(DispatcherServlet)。

配置方式与普通的servlet基本相似。

配置内容如下:<!-- 配置前端控制器--><servlet><servlet-name>spring</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><!-- ContextconfigLocation配置springmvc加载的配置文件适配器、处理映射器等--><param-name>contextConfigLocation</param-name><param-value>WEB-INF/classes/spring/springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>spring</servlet-name><!-- 1、.action访问以.action结尾的由DispatcherServlet进行解析2、/,所有访问都由DispatcherServlet进行解析--><url-pattern>/</url-pattern></servlet-mapping>这里需要注意,springmvc.xml是spring配置文件,将在后面讨论。

Eclipse使用maven搭建springmvc图文教程

Eclipse使用maven搭建springmvc图文教程

Eclipse使⽤maven搭建springmvc图⽂教程本⽂为⼤家介绍了Eclipse使⽤maven搭建spring mvc的详细步骤,供⼤家参考,具体内容如下1、环境配置a). Java 1.7b). Eclipse lunac). Maven3.2.5d). Spring 4.1.42、创建maven⼯程a). 打开eclipse,file->new->project->Maven->Maven Projectb). 下⼀步c). 选择创建的⼯程为webapp,下⼀步d). 填写项⽬的group id和artifact id。

⼀般情况下,group id写域名的倒序,artifact id写项⽬名称即可。

最后点完成。

e). 最初建好后,项⽬⽬录结构如下f). ⼀般的项⽬⽬录中,在java Resources⽬录下,还有src/main/java,src/main/test/java,src/main/test/resources这三个source folder,需要⼿动创建。

在下⾯的步骤中会讲到如何补齐这三个⽬录。

3、修改项⽬基本设置a). 右键此项⽬名称->Properties->Java Build path,点击source标签。

b). 提⽰ hello/src/main/java (missing)和hello/src/test/java (missing)。

⼀般的项⽬⽬录中,在java Resources⽬录下,还会有src/main/test/resources这个source folder。

将missing的先删除,再重新创建,缺少的直接创建。

点右键操作按键进⾏删除和添加。

c). 修改完整,效果如下图d). 接下来再修改libraries的配置,jre使⽤1.7版本。

选中JRE System Library->edit ,更换版本。

e). 再修改⼀下order and export⾥的配置,主要是调整这四个⽬录的显⽰顺序,调为⾃⼰喜欢的顺序即可f). 接下来再修改project facets,先将java修改为1.7。

使用Maven搭建SpringMVC项目的步骤(图文教程)

使用Maven搭建SpringMVC项目的步骤(图文教程)

使⽤Maven搭建SpringMVC项⽬的步骤(图⽂教程)约定电脑都安装了eclipse,且已配置好Maven以及eclipse插件。

1.Eclipse 2.maven1、新建⼀个Maven Project2、选择⼯作空间3、搭建Web⼯程,我们选择maven-archetype-webapp类型4、填写项⽬参数,如图5、以上步骤完成时的⼯程结构⽬录6、可以查看或修改发布⽬录7、确保勾选上Dynamic Web Module和Java8、完成以上步骤,我们的⼯程就是⼀个Web项⽬了,接着我们赋予⼯程的springmvc特性,配置web.xml,使其具有springmvc 特性,主要配置两处,⼀个是ContextLoaderListener,⼀个是DispatcherServlet。

代码如下:<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"><!-- 配置web.xml,使其具有springmvc特性,主要配置两处,⼀个是ContextLoaderListener,⼀个是DispatcherServlet --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:applicationContext.xml</param-value></context-param><!-- 配置ContextLoaderListener表⽰,该⼯程要以spring的⽅式启动。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

14-4-13Spring MVC 框架搭建及详解 - OPEN 开发经验库/lib/v iew/open1338338587698.html1/7登录 注册Java开源PHP开源JS脚本大全OPEN家园OPEN经验库OPEN文档OPEN资讯OPEN论坛经验搜索 推荐:jQuery MiniUI,Web界面控件库!所有分类 > 软件开发 > Web框架 > Spring MVCSpring 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、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.1、dom4j-1.6.1.jar、javassist-3.12.0.GA.jar、jta-1.1.jar、slf4j-api-1.6.1.jar、slf4j-nop-1.6.4.jar、相应数据库的驱动jar包 2. web.xml配置(部分)01<!-- S p r i n g M V C 配置 -->02<!-- ====================================== -->03<s e r v l e t >04 <s e r v l e t -n a m e >s p r i n g </s e r v l e t -n a m e >05 <s e r v l e t -c l a s s >o r g .s p r i n g f r a m e w o r k .w e b .s e r v l e t .D i s p a t c h e r S e r v l e t </s e r v l e t -c l a s s >06 <!-- 可以自定义s e r v l e t .x m l 配置文件的位置和名称,默认为W E B -I N F 目录下,名称为[<s e r v l e t -n a m e >]-s e r v l e t .x m l ,如s p r i n g -s e r v l e t .x m l 07 <i n i t -p a r a m >08 <p a r a m -n a m e >c o n t e x t C o n f i g L o c a t i o n </p a r a m -n a m e >09 <p a r a m -v a l u e >/W E B -I N F /s p r i n g -s e r v l e t .x m l </p a r a m -v a l u e > 默认10 </i n i t -p a r a m >11 -->12 <l o a d -o n -s t a r t u p >1</l o a d -o n -s t a r t u p >13</s e r v l e t >14 15<s e r v l e t -m a p p i n g >16 <s e r v l e t -n a m e >s p r i n g </s e r v l e t -n a m e >17 <u r l -p a t t e r n >*.d o </u r l -p a t t e r n >18</s e r v l e t -m a p p i n g >19 20 21 22<!-- S p r i n g 配置 -->23<!-- ====================================== -->24<l i s t e n e r >25<l i s t e n e r -c l a s s >o r g .s p r i n g f r a m e w o r k .w e b .c o n t e x t .C o n t e x t L o a d e r L i s t e n e r </l i s t e n e r -c l a s s >14-4-13Spring MVC 框架搭建及详解 - OPEN 开发经验库/lib/v iew/open1338338587698.html2/7 3. spring-servlet.xml配置 spring-servlet这个名字是因为上面web.xml中<servlet-name>标签配的值为spring(<servlet-name>spring</servlet-name>),再加上“-servlet”后缀而形成的spring-servlet.xml文件名,如果改为springMVC,对应的文件名则为springMVC-servlet.xml。

4. applicationContext.xml配置26</l i s t e n e r >27 28 29<!-- 指定S p r i n g B e a n 的配置文件所在目录。

默认配置在W E B -I N F 目录下 -->30<c o n t e x t -p a r a m >31 <p a r a m -n a m e >c o n t e x t C o n f i g L o c a t i o n </p a r a m -n a m e >32 <p a r a m -v a l u e >c l a s s p a t h :c o n f i g /a p p l i c a t i o n C o n t e x t .x m l </p a r a m -v a l u e >33</c o n t e x t -p a r a m >01<?x m l v e r s i o n ="1.0" e n c o d i n g ="U T F -8"?>02<b e a n s x m l n s ="h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /b e a n s " 03 x m l n s :x s i ="h t t p ://w w w .w 3.o r g /2001/X M L S c h e m a -i n s t a n c e "x m l n s :p ="h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /p " 04 x m l n s :c o n t e x t ="h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /c o n t e x t " 05 x s i :s c h e m a L o c a t i o n ="h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /b e a n sh t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /b e a n s /s p r i n g -b e a n s -3.0.x s d 06 h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /a o ph t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /a o p /s p r i n g -a o p -3.0.x s d 07 h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /t xh t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /t x /s p r i n g -t x -3.0.x s d 08 h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /c o n t e x t <ah r e f ="h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /c o n t e x t /s p r i n g -c o n t e x t -3.0.x s d ">h t t p ://w w w .s p r i n g f r a m e w o r k .o r g /s c h e m a /c o n t e x t /s p r i n g -c o n t e x t -3.0.x s d </a >">09 10 <!-- 启用s p r i n g m v c 注解 -->11 <c o n t e x t :a n n o t a t i o n -c o n f i g />12 13 <!-- 设置使用注解的类所在的j a r 包 -->14 <c o n t e x t :c o m p o n e n t -s c a n b a s e -p a c k a g e ="c o n t r o l l e r "></c o n t e x t :c o m p o n e n t -s c a n >15 16 <!-- 完成请求和注解P O J O 的映射 -->17 <b e a nc l a s s ="o r g .s p r i n g f r a m e w o r k .w e b .s e r v l e t .m v c .a n n o t a t i o n .A n n o t a t i o n M e t h od H a n d le r A d a p t e r "/>18 19 <!-- 对转向页面的路径解析。

相关文档
最新文档