听说百度公司拼命打广告联盟能挣钱吗就为了挣钱全部给百度老总家人买金子棺材是吗?

SSM(一)框架的整合 - 知乎专栏
你正在使用一个过时的浏览器。请以查看此页面。
{"debug":false,"apiRoot":"","paySDK":"/api/js","name":"production","instance":"column","tokens":{"X-XSRF-TOKEN":null,"X-UDID":null,"Authorization":"oauth c3cef7c66aa9e6a1e3160e20"}}
{"database":{"Post":{"":{"title":"SSM(一)框架的整合","author":"crossoverjie","content":"前言最近这几年JetBrains公司开发的IDEA是越来越流行了,甚至Google的官方IDE都是IDEA来定制的,可见IDEA的发展趋势是越来越好,由于博主接触IDEA的时间也不长,所以有关IDEA和Eclipse的区别和优劣势请自行百度了。借此机会我就使用IDEA来整合一下SSM,针对于初学者(初次使用IDEA和JAVAEE初学者)还是有帮助的。新建SSM项目哦对了,关于IDEA的版本问题强烈建议使用旗舰版,有条件的就购买,没条件的嘛。。天朝你懂的。在欢迎界面点击Create New Project。之后选择Maven(新建JAVAEE项目是需要安装JDK的,这个就不在这里讲解了。)选好之后点击下一步。之后填入GroupID和ArtifactID这里尽量按照Maven的命名规范来即可。之后点击下一步,填入项目名称,这里我建议和之前填写的ArtifactID名称一样即可。点击Finish完成项目的创建。之后尽量不要做其他操作,让IDEA完成索引创建。完善目录结构首先观察一下IDEA给我们生成的目录结构,这是一个标准的Maven目录。但是其中少了一个webapp目录用于存放jsp、css、js、图片之类的文件。之后还需要完善我们的目录结构,如下图:以上的命名都是我们开发过程中常用的命名规则,不一定按照我这样来,但是最好是有一定的规范。POM.xmlpom.xml是整个maven的核心配置文件,里面有对项目的描述和项目所需要的依赖。哦对了,在修改pom.xml文件之前我们最好先设置一下该项目的Maven设置(IDEA对每个项目的maven设置和Eclipse不一样,不是设置一次就可了,如果今后还要新建项目那就还需要设置,同时按住ctrl,alt,s是打开设置的快捷键,更多有关IDEA的操作今后会更新相关博文。)IDEA的Maven设置在Eclipse中用过Maven的都应该知道,这里是将项目的Maven换成我们自己安装的Maven,下面两个目录是选择Maven配置文件,不知道是什么原因在Eclipse中选择了配置文件之后会自动的将Maven本地厂库的路径更改为你settings.xml中配置的路径。既然这里没有自动选中那我们就手动修改即可,尽量不要放在C盘,一是用久之后本地厂库占用的空间会比较大,二是万一系统崩溃的话还有可能找回来。修改pom.xml以下是我的pom.xml文件:&?xml version=\"1.0\" encoding=\"UTF-8\"?&\n&!--suppress MavenModelInspection --&\n&project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\"&\n
&modelVersion&4.0.0&/modelVersion&\n\n
&groupId&com.crossoverJie&/groupId&\n
&artifactId&SSM&/artifactId&\n
&version&1.0-SNAPSHOT&/version&\n
&plugins&\n
&plugin&\n
&groupId&org.apache.maven.plugins&/groupId&\n
&artifactId&maven-compiler-plugin&/artifactId&\n
&configuration&\n
&source&1.6&/source&\n
&target&1.6&/target&\n
&/configuration&\n
&/plugin&\n
&/plugins&\n
&/build&\n\n
&properties&\n
&project.build.sourceEncoding&UTF-8&/project.build.sourceEncoding&\n
&spring.version&4.1.4.RELEASE&/spring.version&\n
&jackson.version&2.5.0&/jackson.version&\n
&/properties&\n\n
&dependencies&\n
&dependency&\n
&groupId&junit&/groupId&\n
&artifactId&junit&/artifactId&\n
&version&3.8.1&/version&\n
&scope&test&/scope&\n
&/dependency&\n\n
&!-- spring --&\n
&dependency&\n
&groupId&org.springframework&/groupId&\n
&artifactId&spring-core&/artifactId&\n
&version&${spring.version}&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&org.springframework&/groupId&\n
&artifactId&spring-beans&/artifactId&\n
&version&${spring.version}&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&org.springframework&/groupId&\n
&artifactId&spring-context&/artifactId&\n
&version&${spring.version}&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&org.springframework&/groupId&\n
&artifactId&spring-tx&/artifactId&\n
&version&${spring.version}&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&org.springframework&/groupId&\n
&artifactId&spring-web&/artifactId&\n
&version&${spring.version}&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&org.springframework&/groupId&\n
&artifactId&spring-test&/artifactId&\n
&version&${spring.version}&/version&\n
&scope&test&/scope&\n
&/dependency&\n\n
&!-- 使用SpringMVC需配置 --&\n
&dependency&\n
&groupId&org.springframework&/groupId&\n
&artifactId&spring-webmvc&/artifactId&\n
&version&${spring.version}&/version&\n
&/dependency&\n\n
&!-- 关系型数据库整合时需配置 如hibernate jpa等 --&\n
&dependency&\n
&groupId&org.springframework&/groupId&\n
&artifactId&spring-orm&/artifactId&\n
&version&${spring.version}&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&org.mybatis&/groupId&\n
&artifactId&mybatis-spring&/artifactId&\n
&version&1.2.4&/version&\n
&/dependency&\n\n
&!-- log4j --&\n
&dependency&\n
&groupId&log4j&/groupId&\n
&artifactId&log4j&/artifactId&\n
&version&1.2.17&/version&\n
&/dependency&\n\n
&!-- mysql连接 --&\n
&dependency&\n
&groupId&mysql&/groupId&\n
&artifactId&mysql-connector-java&/artifactId&\n
&version&5.1.34&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&org.mybatis&/groupId&\n
&artifactId&mybatis&/artifactId&\n
&version&3.3.1&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&com.alibaba&/groupId&\n
&artifactId&druid&/artifactId&\n
&version&1.0.18&/version&\n
&/dependency&\n\n
&!-- json --&\n
&dependency&\n
&groupId&com.alibaba&/groupId&\n
&artifactId&fastjson&/artifactId&\n
&version&1.2.3&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&com.fasterxml.jackson.core&/groupId&\n
&artifactId&jackson-annotations&/artifactId&\n
&version&${jackson.version}&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&com.fasterxml.jackson.core&/groupId&\n
&artifactId&jackson-core&/artifactId&\n
&version&${jackson.version}&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&com.fasterxml.jackson.core&/groupId&\n
&artifactId&jackson-databind&/artifactId&\n
&version&${jackson.version}&/version&\n
&/dependency&\n\n
&!-- aop --&\n
&dependency&\n
&groupId&org.aspectj&/groupId&\n
&artifactId&aspectjweaver&/artifactId&\n
&version&1.8.4&/version&\n
&/dependency&\n\n
&!-- servlet --&\n
&dependency&\n
&groupId&javax.servlet&/groupId&\n
&artifactId&servlet-api&/artifactId&\n
&version&3.0-alpha-1&/version&\n
&scope&provided&/scope&\n
&/dependency&\n\n
&dependency&\n
&groupId&javax.servlet&/groupId&\n
&artifactId&jstl&/artifactId&\n
&version&1.2&/version&\n
&/dependency&\n\n
&dependency&\n
&groupId&mons&/groupId&\n
&artifactId&commons-lang3&/artifactId&\n
&version&3.4&/version&\n
&/dependency&\n
&!-- 上传文件 --&\n
&dependency&\n
&groupId&commons-fileupload&/groupId&\n
&artifactId&commons-fileupload&/artifactId&\n
&version&1.3.1&/version&\n
&/dependency&\n\n
&/dependencies&\n&/project&\n关于maven的知识点我就不细讲了,毕竟这是一个整合教程。spring-mvc.xml这个配置文件是springMVC的配置文件:里面的我都写有注释,应该都能看懂。&?xml version=\"1.0\" encoding=\"UTF-8\"?&\n&beans xmlns=\"http://www.springframework.org/schema/beans\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:p=\"http://www.springframework.org/schema/p\" xmlns:context=\"http://www.springframework.org/schema/context\" xmlns:mvc=\"http://www.springframework.org/schema/mvc\" xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd\"&\n
&!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --&\n
&context:component-scan base-package=\"com.crossoverJie.controller\" /&\n
&!--避免IE执行AJAX时,返回JSON出现下载文件 --&\n
&!--&bean id=\"mappingJacksonHttpMessageConverter\" class=\"org.springframework.http.converter.json.MappingJacksonHttpMessageConverter\"& &property name=\"supportedMediaTypes\"& &list& &value&text/charset=UTF-8&/value& &/list& &/property& &/bean&--&\n
&mvc:annotation-driven/&\n
&!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 --&\n\n
&!-- 定义跳转的文件的前后缀 ,视图模式配置--&\n
&bean class=\"org.springframework.web.servlet.view.InternalResourceViewResolver\"&\n
&!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 --&\n
&property name=\"prefix\" value=\"/WEB-INF/jsp/\" /&\n
&property name=\"suffix\" value=\".jsp\" /&\n
&/bean&\n\n
&!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 --&\n
&bean id=\"multipartResolver\" class=\"org.springframework.monsMultipartResolver\"&\n
&!-- 默认编码 --&\n
&property name=\"defaultEncoding\" value=\"utf-8\" /&\n
&!-- 文件大小最大值 --&\n
&property name=\"maxUploadSize\" value=\"\" /&\n
&!-- 内存中的最大值 --&\n
&property name=\"maxInMemorySize\" value=\"40960\" /&\n
&/bean&\n\n
&!-- 配置拦截器 --&\n
&!--&mvc:interceptors& &mvc:interceptor& &!– &mvc:mapping path=\"/**\"/&拦截所有 –& &mvc:mapping path=\"/user/**\"/& &mvc:mapping path=\"/role/**\"/& &mvc:mapping path=\"/function/**\"/& &mvc:mapping path=\"/news/**\"/& &mvc:mapping path=\"/img/**\"/& &bean class=\"com.crossoverJie.intercept.Intercept\"&&/bean& &/mvc:interceptor& &/mvc:interceptors&--&\n\n&/beans&\n关于上面拦截器注释掉的那里,配置是没有问题的,因为这是一个整合项目,所以里边也没有用到拦截器,为了防止运行报错所以就先注释掉了。如果后续需要增加拦截器,可以参考这里的配置。spring-mybatis.xml这个是spring和mybatis的整合配置文件,其中还有Druid连接池的配置。&?xml version=\"1.0\" encoding=\"UTF-8\"?&\n&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\" xsi:schemaLocation=\"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd\"&\n
&!-- 自动扫描 --&\n
&context:component-scan base-package=\"com.crossoverJie\" /&\n
&!-- 引入配置文件 --&\n
&bean id=\"propertyConfigurer\" class=\"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer\"&\n
&property name=\"location\" value=\"classpath:jdbc.properties\" /&\n
&/bean&\n\n
&bean id=\"dataSource\" class=\"com.alibaba.druid.pool.DruidDataSource\" init-method=\"init\" destroy-method=\"close\"&\n
&!-- 指定连接数据库的驱动 --&\n
&property name=\"driverClassName\" value=\"${jdbc.driverClass}\" /&\n
&property name=\"url\" value=\"${jdbc.url}\" /&\n
&property name=\"username\" value=\"${jdbc.user}\" /&\n
&property name=\"password\" value=\"${jdbc.password}\" /&\n\n
&!-- 配置初始化大小、最小、最大 --&\n
&property name=\"initialSize\" value=\"3\" /&\n
&property name=\"minIdle\" value=\"3\" /&\n
&property name=\"maxActive\" value=\"20\" /&\n\n
&!-- 配置获取连接等待超时的时间 --&\n
&property name=\"maxWait\" value=\"60000\" /&\n\n
&!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --&\n
&property name=\"timeBetweenEvictionRunsMillis\" value=\"60000\" /&\n\n
&!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --&\n
&property name=\"minEvictableIdleTimeMillis\" value=\"300000\" /&\n\n
&property name=\"validationQuery\" value=\"SELECT 'x'\" /&\n
&property name=\"testWhileIdle\" value=\"true\" /&\n
&property name=\"testOnBorrow\" value=\"false\" /&\n
&property name=\"testOnReturn\" value=\"false\" /&\n\n
&!-- 打开PSCache,并且指定每个连接上PSCache的大小 --&\n
&property name=\"poolPreparedStatements\" value=\"true\" /&\n
&property name=\"maxPoolPreparedStatementPerConnectionSize\" value=\"20\" /&\n\n
&!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 --&\n
&property name=\"filters\" value=\"stat\" /&\n
&/bean&\n\n
&!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --&\n
&bean id=\"sqlSessionFactory\" class=\"org.mybatis.spring.SqlSessionFactoryBean\"&\n
&property name=\"dataSource\" ref=\"dataSource\" /&\n
&!-- 自动扫描mapping.xml文件 --&\n
&property name=\"mapperLocations\" value=\"classpath:mapping/*.xml\"&&/property&\n
&/bean&\n\n
&!-- DAO接口所在包名,Spring会自动查找其下的类 --&\n
&bean class=\"org.mybatis.spring.mapper.MapperScannerConfigurer\"&\n
&property name=\"basePackage\" value=\"com.crossoverJie.dao\" /&\n
&property name=\"sqlSessionFactoryBeanName\" value=\"sqlSessionFactory\"&&/property&\n
&/bean&\n\n
&!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --&\n
&bean id=\"transactionManager\" class=\"org.springframework.jdbc.datasource.DataSourceTransactionManager\"&\n
&property name=\"dataSource\" ref=\"dataSource\" /&\n
&/bean&\n\n&/beans&\n以上两个就是最重要的配置文件了,只要其中的包名和配置文件中的名字一样就不会出问题。关于xxMpper.xml以及实体类的生成,我们可以借助mybatis-generator自动生成工具来生成,方便快捷。IDEA配置Tomcat关于Tomcat的下载与安装我这里就不多介绍了。按照下图选择:在name中为这个Tomcat输入一个名字。之后选择你本地Tomcat的目录点击Ok即可。点击apply和保存之后就返回首页即可看到Tomcat的标识。根据需要点击Run和Debug即可运行。运行结果如下:点击上图的2,3,4可看到不同用户的结果,如果你走到这一步,那么恭喜你整合成功。总结以上源码都在我的Github上。项目地址:其中有问题或者不对的地方欢迎交流。个人博客地址:。GitHub地址:。简书地址:","updated":"T02:43:00.000Z","canComment":false,"commentPermission":"anyone","commentCount":1,"collapsedCount":0,"likeCount":4,"state":"published","isLiked":false,"slug":"","isTitleImageFullScreen":false,"rating":"none","titleImage":"/8b115a022a_r.jpg","links":{"comments":"/api/posts//comments"},"reviewers":[],"topics":[{"url":"/topic/","id":"","name":"Java"},{"url":"/topic/","id":"","name":"Java EE"},{"url":"/topic/","id":"","name":"Java Web"}],"adminClosedComment":false,"titleImageSize":{"width":1240,"height":827},"href":"/api/posts/","excerptTitle":"","column":{"slug":"crossoverJie","name":"crossoverJie的知乎专栏"},"tipjarState":"inactivated","sourceUrl":"","pageCommentsCount":1,"snapshotUrl":"","publishedTime":"T10:43:00+08:00","url":"/p/","lastestLikers":[{"profileUrl":"/people/xi-xi-28-12","bio":null,"hash":"0e5d22c17fdd6e5fa9ea","uid":715650,"isOrg":false,"description":"","isOrgWhiteList":false,"slug":"xi-xi-28-12","avatar":{"id":"v2-fada8fc3d36babaa77ec5b8","template":"/{id}_{size}.jpg"},"name":"Robin"},{"profileUrl":"/people/tian-jun-12-75","bio":"小小站长","hash":"f3d5697fbdd2cd2a68468ccc1200bacb","uid":833100,"isOrg":false,"description":"","isOrgWhiteList":false,"slug":"tian-jun-12-75","avatar":{"id":"v2-e68dffe8c5580","template":"/{id}_{size}.jpg"},"name":"田军"},{"profileUrl":"/people/Ljlhome","bio":"程序员","hash":"d23a8a209f71b01be55f7b","uid":059600,"isOrg":false,"description":"","isOrgWhiteList":false,"slug":"Ljlhome","avatar":{"id":"cf57595debaad18b7b4e61","template":"/{id}_{size}.jpg"},"name":"默默守候"},{"profileUrl":"/people/zhong-huan-bin-61","bio":"iOS程序员","hash":"f85b0eda08e42e9e2e7b","uid":880900,"isOrg":false,"description":"","isOrgWhiteList":false,"slug":"zhong-huan-bin-61","avatar":{"id":"da8e974dc","template":"/{id}_{size}.jpg"},"name":"钟焕彬"}],"summary":"前言最近这几年JetBrains公司开发的IDEA是越来越流行了,甚至Google的官方IDE都是IDEA来定制的,可见IDEA的发展趋势是越来越好,由于博主接触IDEA的时间也不长,所以有关IDEA和Eclipse的区别和优劣势请自行百度了。 借此机会我就使用IDEA来整合一下SSM,针…","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentsCount":1,"likesCount":4,"FULLINFO":true}},"User":{"crossoverjie":{"isFollowed":false,"name":"crossoverJie","headline":"博客:http://crossoverjie.top/","avatarUrl":"/2a185dfd622de_s.jpg","isFollowing":false,"type":"people","slug":"crossoverjie","bio":"Java程序猿","hash":"f63448cdbd","uid":509300,"isOrg":false,"description":"博客:http://crossoverjie.top/","profileUrl":"/people/crossoverjie","avatar":{"id":"2a185dfd622de","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false,"badge":{"identity":null,"bestAnswerer":null}}},"Comment":{},"favlists":{}},"me":{},"global":{},"columns":{"crossoverJie":{"following":false,"canManage":false,"href":"/api/columns/crossoverJie","name":"crossoverJie的知乎专栏","creator":{"slug":"crossoverjie"},"url":"/crossoverJie","slug":"crossoverJie","avatar":{"id":"75eaab0c1b2","template":"/{id}_{size}.jpeg"}}},"columnPosts":{},"postComments":{},"postReviewComments":{"comments":[],"newComments":[],"hasMore":true},"favlistsByUser":{},"favlistRelations":{},"promotions":{},"env":{"isAppView":false,"appViewConfig":{"content_padding_top":128,"content_padding_bottom":56,"content_padding_left":16,"content_padding_right":16,"title_font_size":22,"body_font_size":16,"is_dark_theme":false,"can_auto_load_image":true,"app_info":"OS=iOS"}},"sys":{}}1343人阅读
java web(8)
当前环境:
&&&&& spring做全链接拦截,在拦截器中进行登录验证,登录方法在前端触发使用的是ajax,登录方式调用成功后,将在session中保存登录的UUID,登录成功后的处理直接使用页面跳转到主页(window.location.href)。
出现的变更:
&&&&& 如果页面长时间没有访问,session失效后,之前打开的页面上的任何业务操作都将会跳转到登录页面,登录后会跳转到主页。
&&&&& 在重新登录后客户希望回到原来的页面。
处理方案:
&&&& 1、在拦截器中,当登录的uuid为空的时候,记录下访问的全路径保存到session中:
String getFullURL(HttpServletRequest request) {
StringBuffer url = request.getRequestURL();
if (request.getQueryString() != null) {
url.append(&?&);
url.append(request.getQueryString());
return url.toString();
&&&&& 2、当正常跳转时,清除保存到session中的路径,由于程序逻辑中,在登录成功后会直接在页面上跳转,故而在登录成功后的uuid不为空时,保存的全路径已经被使用了。
&&&&&&&&&&& 或者在退出的动作中删除session中的路径,如此保证了,正常登录时,能跳转到主页上。
&&&&& 3、在登录成功后,如果session中保存的路径为空,那么直接将首页链接返回到前端,否则获取session中保存的路径,直接作为ajax的data返回到页面,页面获取此路径后,直接跳转到此路径;
引申问题:
如果在登录失效后输入的URL是错误的,那么登录后将会继续打开错误的URL,特别是当URL为ajax方法调用的连接时,页面上将返回action的输出的内容。这种情况应该怎么处理?
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:38264次
排名:千里之外
原创:37篇
转载:25篇
(2)(1)(1)(2)(4)(1)(2)(2)(4)(3)(1)(1)(1)(4)(1)(1)(12)(2)(11)(1)(3)(1)(1)(1)最近在学习ssm整合,就在练手方案中遇到了一个action访问404的问题。各位大牛给给意见!!
工程目录结构
我的controller
package&cn.itcast.ssm.
import&java.util.L
import&javax.servlet.http.HttpServletR
import&org.springframework.beans.factory.annotation.A
import&org.springframework.stereotype.C
import&org.springframework.ui.M
import&org.springframework.web.bind.annotation.RequestM
import&org.springframework.web.bind.annotation.RequestM
import&org.springframework.web.bind.annotation.RequestP
import&org.springframework.web.servlet.ModelAndV
import&cn.itcast.ssm.po.ItemsC
import&cn.itcast.ssm.service.ItemsS
@Controller
//为了对url进行分类管理&,可以在这里定义根路径,最终访问url是根路径+子路径
//比如:商品列表:/items/queryItems.action
@RequestMapping("/items")
public&class&ItemsController&{
@Autowired
private&ItemsService&itemsS
//&商品查询
@RequestMapping("/queryItems")
public&ModelAndView&queryItems(HttpServletRequest&request)&throws&Exception&{
//&调用service查找&数据库,查询商品列表
List&ItemsCustom&&itemsList&=&itemsService.findItemsList(null);
//&返回ModelAndView
ModelAndView&modelAndView&=&new&ModelAndView();
//&相当&于request的setAttribut,在jsp页面中通过itemsList取数据
modelAndView.addObject("itemsList",&itemsList);
//&指定视图
//&下边的路径,如果在视图解析器中配置jsp路径的前缀和jsp路径的后缀,修改为
//&modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp");
//&上边的路径配置可以不在程序中指定jsp路径的前缀和jsp路径的后缀
modelAndView.setViewName("items/itemsList");
return&modelAndV
&?xml&version="1.0"&encoding="UTF-8"?&
&web-app&xmlns:xsi="http://www.w3.org/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"&
&!--&加载spring容器&--&
&context-param&
&param-name&contextConfigLocation&/param-name&
&param-value&/WEB-INF/classes/spring/applicationContext-*.xml&/param-value&
&/context-param&
&listener&
&listener-class&org.springframework.web.context.ContextLoaderListener&/listener-class&
&/listener&
&!--&springmvc前端控制器&--&
&servlet-name&springmvc&/servlet-name&
&servlet-class&org.springframework.web.servlet.DispatcherServlet&/servlet-class&
&!--&contextConfigLocation配置springmvc加载的配置文件(配置处理器映射器、适配器等等)&如果不配置contextConfigLocation,默认加载的是/WEB-INF/servlet名称-serlvet.xml(springmvc-servlet.xml)&--&
&init-param&
&param-name&contextConfigLocation&/param-name&
&param-value&classpath:spring/springmvc.xml&/param-value&
&/init-param&
&/servlet&
&servlet-mapping&
&servlet-name&springmvc&/servlet-name&
&!--&第一种:*.action,访问以.action结尾&由DispatcherServlet进行解析&第二种:/,所以访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet进行解析&
使用此种方式可以实现&RESTful风格的url&第三种:/*,这样配置不对,使用这种配置,最终要转发到一个jsp页面时,&仍然会由DispatcherServlet解析jsp地址,不能根据jsp页面找到handler,会报错。&--&
&url-pattern&*.action&/url-pattern&
&/servlet-mapping&
&!--&post乱码过虑器&--&
&filter-name&CharacterEncodingFilter&/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&
&filter-mapping&
&filter-name&CharacterEncodingFilter&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&welcome-file-list&
&welcome-file&index.html&/welcome-file&
&welcome-file&index.htm&/welcome-file&
&welcome-file&index.jsp&/welcome-file&
&welcome-file&default.html&/welcome-file&
&welcome-file&default.htm&/welcome-file&
&welcome-file&default.jsp&/welcome-file&
&/welcome-file-list&
&/web-app&
springmvc.xml
&beans&xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&xmlns:mvc="http://www.springframework.org/schema/mvc"
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.2.xsd&
http://www.springframework.org/schema/mvc&
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd&
http://www.springframework.org/schema/context&
http://www.springframework.org/schema/context/spring-context-3.2.xsd&
http://www.springframework.org/schema/aop&
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd&
http://www.springframework.org/schema/tx&
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd&"&
&!--&可以扫描controller、service、...
这里让扫描controller,指定controller的包
&context:component-scan&base-package="cn.itcast.ssm.controller"&&/context:component-scan&
&!--注解映射器&--&
&!--&&bean&class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/&&--&
&!--注解适配器&--&
&!--&&bean&class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/&&--&
&!--&使用&mvc:annotation-driven代替上边注解映射器和注解适配器配置
mvc:annotation-driven默认加载很多的参数绑定方法,
比如json转换解析器就默认加载了,如果使用mvc:annotation-driven不用配置上边的RequestMappingHandlerMapping和RequestMappingHandlerAdapter
实际开发时使用mvc:annotation-driven
&mvc:annotation-driven&conversion-service="conversionService"&&/mvc:annotation-driven&
&!--&视图解析器
解析jsp解析,默认使用jstl标签,classpath下的得有jstl的包
class="org.springframework.web.servlet.view.InternalResourceViewResolver"&
&!--&配置jsp路径的前缀&--&
&property&name="prefix"&value="/WEB-INF/jsp/"/&
&!--&配置jsp路径的后缀&--&
&property&name="suffix"&value=".jsp"/&
&!--&自定义参数绑定&--&
&bean&id="conversionService"&class="org.springframework.format.support.FormattingConversionServiceFactoryBean"&
&!--&转换器&--&
&property&name="converters"&
&!--&日期类型转换&--&
&bean&class="cn.itcast.ssm.controller.converter.CustomDateConverter"/&
&/property&
-------------------------------
仔细看你的访问地址,少
/items/queryItems.action
-------------------------------
访问路径写错了
/项目名/items/quItems
最好再把web.xml文件中的DispatcherServlet的url-pattern的值改为/
然后在springMVC的配置文件中加上如下标签
&!--&静态资源访问控制&--&
&mvc:default-servlet-handler/&
-------------------------------
很明显少了items,别忘了类名上的路径。
-------------------------------
感谢,调好了。太粗心大意了!!!
[源码]当当网全套源码(附带邮箱验证功能
webService 老是报错
NIO及Reactor模式
帮忙写个CSS代码
有关JasperReports打印的问题
配置数据源出现问题
java与python间的socket通
Java 反射工具类
求大神给一个完整的WEB版的人力资源管理
JDK配置问题
java web中,做页面上一条记录的查
struts2 s:if标签对比中文不能
jquery操作table表格
新手求助,想用java程序利用poi读取
关于TreeSet 的equals 和h
请问Java怎么把自己编写的类放到库中,
Struts2与ajax的问题
后台怎么获取前端传过来的文件名
java poi Excel大数据量(千
求大神指导在后台 将pdf文件流上传至服
Servlet的基础结构
关于燕青老师springmvc+myba
jpa 一对多和多对多出现的问题 Use
自己写的联系项目无法引入js css文件
Oracle 权限(grant、revo
正则表达式的JS验证
关于maven搭建好后,一直buildi
HttpServletRequest 类
怎么判断时间类型的值是否为空
使用Jenkins pipeline 遇
一个String字符串输出时被诡异截断问
try {String str = "奢...
最近在学习ssm整合,就在练手方案中遇到
工程目录结构我的controllerpa...
myeclipse里打开类似 .jsp的
--------------------...
求教,ajax+jsp实现真分页,后台查
<%@ page language="j...
我遇到了个奇怪的问题,scala ecl
如图:我那个项目使用scala2.11的...
freemarker 中文乱码
<beanid="freemarkerC...
springmvc session和mo
关于springMVC中的session...
java的动态代理机制详解
在学习Spring的时候,我们知道Spr...
hibernate――初学报错处理
1. org.hibernate.Map...
spring mvc拦截器
Java里的拦截器是动态拦截Action...
一个“未来酒店”的研究说2060年会有很大量先进科技出现,比如3D打印机,大量触...
日,重污染雾霾天气继续笼罩北京,这场影响北方多个地区的大范围...
演艺圈向来竞争激烈,但是要说梁朝伟现在是华语电影男演员里难得的演技派常青树,几乎...
IT之家讯 12月19日消息,之前第三方机构Instrumental表明,三星N...
据农业部近日预计,今年我国农产品网络零售交易总额将达2200亿元,比2015年增...
日,由中国软件工程大会专家理事委员会、希赛顾问团(CSAI)...
每一个seo菜鸟都是从编辑,写文章一步一个脚印慢慢走来的。
  随着建站门槛的降低,从事网站建设行业的人是越来越多了。虽说互联网上的网站数量...
  对于一个有一定影响力的网站来说,外链通常都会自动"送上"门来,这就是传统企业...
网站制作的过程是牵涉到企业与服务商、企业的多个部门参与,服务商多个部门及岗位参与...
对于文章优化无非就那几点,其间章法技巧三磨四灼短时之间都可以迅速掌握,这类的心法...
网站建设为什么要注重创意与用户习惯?当然,注重用户习惯是针对网站的排版布局来讲的...
现在的网站做SEO优化主要有三个方向,做关键词排名,做流量和做口碑优化。而对于企...
什么是社会热点传播,大家还记得快播吗?快播被告了,上了法院,那个快播是被...
什么是O2O,有些人觉得O2O很神奇,很复杂,其实不然。蒲实老师用一句话解释O2...
请问各位大神什么时间更新站内文章啊?更新几篇为最佳?
http://www.b...
  1.用结构化数据写产品图片ALT  我们很容易使用照相机默认的图片编号当做图...
一个SEO做得成功的网站,80%的流量应该来源于长尾关键词,长尾广泛分布于网站的...
选择国内空间  服务器作为网站的‘家’,质量是否稳定直接影响着网站的根基。除非你...
  其实在你看到这篇文章标题的时候,作为新手站长你的你来说,究竟百度权重是什么?...

我要回帖

更多关于 给百度刷广告挣钱 的文章

 

随机推荐