论坛首页 Java企业应用论坛

基于spring3.0.5 mvc 简单用户管理实例

浏览 107055 次
该帖已经被评为精华帖
作者 正文
   发表时间:2011-12-28  
雨的印迹 写道
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0' defined in ServletContext resource [/WEB-INF/spring3-servlet.xml]: Cannot create inner bean 'org.springframework.http.converter.json.MappingJacksonHttpMessageConverter#836aae' of type [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter] while setting bean property 'messageConverters' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.http.converter.json.MappingJacksonHttpMessageConverter#836aae' defined in ServletContext resource [/WEB-INF/spring3-servlet.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.codehaus.jackson.type.JavaType.<init>(Ljava/lang/Class;)V



你这个报错不知道是不是和我一样.
我是用Myeclipse构建的Spring3, 他里面自带了一个com.springsource.org.codehaus.jackson.mapper-1.0.0.jar, 把他干掉, 然后自己再去下一个jackson-core和jackson-mapper的jar就行.
0 请登录后投票
   发表时间:2012-02-17  
能不能发一份完整的带jar包的下载啊,我项目启动了,没报错,可就是死活不能自动建表!!!<prop key="hibernate.hbm2ddl.auto">update</prop>  加了
0 请登录后投票
   发表时间:2012-04-11  
楼主,我试了你的代码,用的3.1的包,事务不能回滚,我在service

public void addDeptMore(List<TDept> deptList) throws Exception {
for (int i = 0; i < deptList.size(); i++) {
deptDao.save(deptList.get(i));
}
}
中加了这个,故意插入了两条id相同的,但是第一条顺利插入了数据库,第二条从日志来看好像都没有执行。
0 请登录后投票
   发表时间:2012-04-15  
这么好的例子   支持一个
0 请登录后投票
   发表时间:2012-04-17  
看来自己已经out了。需要补充以下新技术。
0 请登录后投票
   发表时间:2012-04-17  
太阳神喻 写道
在编码过程中曾遇到过以下问题,都一一解决了:
1.静态资源无法访问,解决办法用:mvc:resources,不过mvc:resources是3.04新增功能,用的时候需要设置一下xml catalog,使用新的spring-mvc-3.0.xsd
<!-- 配置静态资源,直接映射到对应的文件夹,不被DispatcherServlet处理,3.04新增功能,需要重新设置spring-mvc-3.0.xsd -->
	<mvc:resources mapping="/img/**" location="/img/"/>
	<mvc:resources mapping="/js/**" location="/js/"/>
	<mvc:resources mapping="/css/**" location="/css/"/>

2.自动注入日期格式转换错误问题,解决办法:定制一个WebBindingInitialize,注册一个自定义的属性编辑器
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
	    <property name="cacheSeconds" value="0" />
	    <property name="webBindingInitializer">
	        <bean class="com.fsj.spring.util.MyWebBinding" />
	    </property>
	</bean>

package com.fsj.spring.util;

import java.util.Date;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.support.WebBindingInitializer;
import org.springframework.web.context.request.WebRequest;

public class MyWebBinding implements WebBindingInitializer {

	public void initBinder(WebDataBinder binder, WebRequest request) {
		//1. 使用spring自带的CustomDateEditor
		//SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		//binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
		
		//2. 自定义的PropertyEditorSupport
		binder.registerCustomEditor(Date.class, new DateConvertEditor());

	}

}

package com.fsj.spring.util;

import java.beans.PropertyEditorSupport;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.springframework.util.StringUtils;

public class DateConvertEditor extends PropertyEditorSupport {
	private SimpleDateFormat datetimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

	public void setAsText(String text) throws IllegalArgumentException {
		if (StringUtils.hasText(text)) {
			try {
				if (text.indexOf(":") == -1 && text.length() == 10) {
					setValue(this.dateFormat.parse(text));
				} else if (text.indexOf(":") > 0 && text.length() == 19) {
					setValue(this.datetimeFormat.parse(text));
				}else{
					throw new IllegalArgumentException("Could not parse date, date format is error ");
				}
			} catch (ParseException ex) {
				IllegalArgumentException iae = new IllegalArgumentException("Could not parse date: " + ex.getMessage());
				iae.initCause(ex);
				throw iae;
			}
		} else {
			setValue(null);
		}
	}
}

<mvc:resources mapping="/img/**" location="/img/"/>

cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for
element 'mvc:resources'. 错误 ,我的版本是3.1.1spring内的包全部倒入到lib里面了包括org.springframework.web.servlet-3.1.1.RELEASE.jar 怎么还回有这样的提示呢
  • 大小: 16.5 KB
0 请登录后投票
   发表时间:2012-04-18  
这个例子很清晰啊,Spring MVC从结构上来说,真的比Struts好用。
0 请登录后投票
   发表时间:2012-04-20  
你敢不敢不用注解
0 请登录后投票
   发表时间:2012-04-20  
long502147 写道
RequestMapping注解里的这个属性method=RequestMethod.POST,一定要配置么?请问一下Lz不配置有什么不一样不?

是为了多个Co n t r oller访问方便,method直接指定处理的方法。
0 请登录后投票
   发表时间:2012-05-04  
cheung1021 写道
long502147 写道
RequestMapping注解里的这个属性method=RequestMethod.POST,一定要配置么?请问一下Lz不配置有什么不一样不?


不配置就是GET方式跳转



不配置是任何提交都支持的!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics