您好,欢迎访问三七文档
项目技术层面简要描述1SpringMVC简要描述Spring是javaweb的一种框架.平常我门开发web程序都是用jsp或,继承HtttpServlet,来复写doGet,doPost方法实现一个servlet类,说白了,jsp实质编译生成的都是服务端的servlet,也可以说是servlet的一个包装,spring实质也就是对HttpServlet基础类的扩展,扩充.让开发人员更容易实现业务逻辑,让开发效率更高,让开发出来的产品更容易维护,扩展等等.2SpingMVC处理流程上面对Spring到底是个什么东西,是一项什么技术,用spring有什么作用做了一个简要的概述说明.那现在我针对Spring的处理机制做简要的描述和讲解:1处理流程图IncomingRequestFontController代理请求的等一些包装处理(反射逻辑处理)业务逻辑的详细出来代理对象以及用户数据代理返回请求对象及数据返回到View模板处理好数据流返回预处理视图数据返回到客户端1简要描述:首先客户段发送请求,服务端spring接受相应请求后,spring响应器分析请求转发定向到指定的Action处理,Action处理好后包装到需要的数据转发模板,将生成的数据流写回到response从而返回到客户端。2简要的配置处理说明:Spring的核心是DispatchServlet是HttpServlet的子类。在Web应用中web.xml配置如下servletservlet-nametang/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-valueWEB-INF/conf/spring/web-main.xml/param-value/init-paramload-on-startup2/load-on-startup/servletservlet-mappingservlet-nametang/servlet-nameurl-pattern*.htm/url-pattern/servlet-mapping当服务器接受到浏览器以.htm结尾的请求将转发到DispatchServlet请求中,DispathServlet解析Spring的配置映射响应器,Spring默认处理响应器是beanid=defaultHandlerMappingclass=org.springframework.web.servlet.handler.BeanNameUrlHandlerMappingpropertyname=interceptorslistrefbean=requestEncoding/refbean=responseEncoding/refbean=demoInterceptor//list/property/beanbeanname=/list_all.htmclass=com.nonfamous.tang.web.admin.DemoAction/bean是根据SpringBean名字来找相应的Action,并根据请求的后缀调用相应方法来处理,如果找不到合适的Action,如果配置SimpleUrlHandlerMapping则找配置SimpleUrlHandlerMapping符合的映射/domo/*.htm配置的Action配置如下:beanid=demoHandlerMappingclass=org.springframework.web.servlet.handler.SimpleUrlHandlerMappingpropertyname=interceptorslistrefbean=requestEncoding/refbean=responseEncoding/refbean=demoInterceptor//list/propertypropertyname=urlMapmapentrykey=/demo/*.htmvalue-ref=demoAction//map/property/beanbeanid=demoActionclass=com.nonfamous.tang.web.admin.DemoAction!—注意这是默认的行为(解析调用方法哪个方法)这个配置可要可不要propertyname=methodNameResolverbeanclass=org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver/bean/property--/bean并根据相应请求的后缀名来调用相应的方法。否则请求失败错误页面。注意,如果SimpletUrlHandlermapping与BeanNameUrlHandlerMapping的url都符合处理的要求BeanNameUrlHandlerMapping优先处理3.拦截器说明:如上面配置:refbean=demoInterceptor/beanid=demoInterceptorclass=com.nonfamous.tang.web.interceptor.DemoInterceptor/bean配置了refbean=demoInterceptor/处理响应时,可以拦截请求前的或请求中,请求后的逻辑处理,你可以复写preHandler,postHandler,afterCompletion方法做自己的响应处理4.全局参数上下文件参数配置beanid=propertyConfigurerclass=org.springframework.beans.factory.config.PropertyPlaceholderConfigurerpropertyname=locationslistvalueWEB-INF/conf/server.properties/value/list/property/bean全局参数配置后,能在Spring配置文件用$key方式能访问配置参数值,使用方式方便灵活。5.试图velocity模板的整合5.1.velocity模板文件夹根路径的指定context-paramparam-namecontextConfigLocation/param-nameparam-value/WEB-INF/conf/spring/applicationContext.xml/param-value/context-paramapplicationContext.xmlvelocity根目录的配置,及宏定义文件路径的指定,方便开发人员灵活的使用beansbeanid=velocityConfigurerclass=com.nonfamous.commom.util.web.NofmsVelocityConfigurerpropertyname=resourceLoaderPathvalue=/WEB-INF/views/,/WEB-INF/cfg/propertyname=macroFilevalue=macro.vm/propertyname=velocityPropertiespropspropkey=input.encoding${vm.encoding}/proppropkey=output.encoding${response.encoding}/prop!--cache用于开启缓存,在应用期开启true可以提高性能,调试的时候set为false--propkey=file.resource.loader.cachefalse/prop!--检查文件变更的间隔为2ms,应用期应将这个值设置的尽量大--propkey=file.resource.loader.modificationCheckInterval2/prop/props/property/bean/beans5.2velocity单个文件属性的指定.及排版设置beanid=viewResolverclass=org.springframework.web.servlet.view.velocity.VelocityLayoutViewResolverpropertyname=exposeSpringMacroHelpersvalue=false/propertyname=toolboxConfigLocationvalue=WEB-INF/conf/vm-toolbox.xml/propertyname=prefixvalue=screen//propertyname=suffixvalue=.vm/propertyname=layoutUrlvalue=layout/default.vm//bean6ibatis整体合:context-paramparam-namecontextConfigLocation/param-nameparam-value/WEB-INF/conf/spring/applicationContext.xml/WEB-INF/conf/spring/dao-beans.xml/WEB-INF/conf/spring/data-source.xml/WEB-INF/conf/spring/service-beans.xml/param-value/context-param6.1数据库连接源/WEB-INF/conf/spring/dao-source.xml${oracle.driverClassName},${oracle.url}……等等,读取/WEB-INF/conf/spring/applicationContext.xml配置的全局上下文参数。beansbeanid=dataSourceclass=org.apache.commons.dbcp.BasicDataSourcedestroy-method=closepropertyname=driverClassNamevalue${oracle.driverClassName}/value/propertypropertyname=urlvalue${oracle.url}/value/propertypropertyname=usernamevalue${oracle.username}/value/propertypropertyname=passwordvalue${oracle.password}/value/propertypropertyname=minIdlevalue${oracle.minIdle}/value/propertypropertyname=maxActivevalue${oracle.maxIdle}/value/property/beanbeanid=transactionManagerclass=org.springframework.jdbc.datasource.DataSourceTransactionManagerpropertyname=dataSourceref=dataSource//beanbeanid=
本文标题:项目描述
链接地址:https://www.777doc.com/doc-809302 .html