0 0

大家帮忙看看,新手;Spring注入值为NULL,SSH框架,折磨我3周了,谢谢!!20

一个user对象,其属性只有密码一项有值,其余均为NULL;
web.xml
   <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <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>


struts.xml
<struts>
<!--  Struts和Spring整合  -->
<constant name="struts.objectFactory" value="spring"></constant>
<package name="json" namespace="/json" extends="json-default">
	<action name="addUserinfo" class="userinfoAction" method="addUserinfo">
		<result type="json"></result>
	</action>
</package>

<package name="default" namespace="/" extends="struts-default"></package>

</struts>


application.xml
    <!-- 配置数据库连接池 -->
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="org.gjt.mm.mysql.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/weibo"/>
    <property name="username" value="root"/>
    <property name="password" value="root"/>
  </bean>
    

	<!-- 注入Hibernate SessionFactory 和 Hibernate的整合 -->
  <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="myDataSource"/>
    <property name="mappingResources">
      <list>
        <value>pojo/Userinfo.hbm.xml</value>
        
      </list>
    </property>
    <property name="hibernateProperties">
      <value>
        hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
        hibernate.show_sql=true
      </value>
    </property>
  </bean>
	
	<!-- 配置bean -->
	<bean id="userinfo" class="pojo.Userinfo"></bean>
	<bean id="userinfoDao" class="daoImpl.UserinfoDaoImpl">
		<constructor-arg index="0" type="org.hibernate.SessionFactory" ref="sessionFactory"></constructor-arg>
	</bean>
	<bean id="userinfoService" class="serviceImpl.UserinfoServiceImpl">
		<property name="userinfoDao" ref="userinfoDao"></property>
	</bean>
	
	
	<!-- 配置Action bean -->
	<bean id="userinfoAction" class="action.UserinfoAction">
		<property name="userinfoService" ref="userinfoService"></property>
	</bean>
	
</beans>

action的代码:
public class UserinfoAction extends ActionSupport{

	private Userinfo userinfo;
	private String jsonString;
	private UserinfoService userinfoService;
	

	public Userinfo getUserinfo() {
		return userinfo;
	}


	public void setUserinfo(Userinfo userinfo) {
		this.userinfo = userinfo;
	}


	public void setUserinfoService(UserinfoService userinfoService) {
		this.userinfoService = userinfoService;
	}


	public String getJsonString() {
		return jsonString;
	}


	public void setJsonString(String jsonString) {
		this.jsonString = jsonString;
	}


	public String addUserinfo()throws Exception{
		System.out.println("name:"+userinfo.getUName());
		try {
			boolean flag = userinfoService.saveUser(userinfo);
			if(flag){
				jsonString="true";
				
			}else {
				jsonString="false";
			}
		} catch (Exception e) {
			e.printStackTrace();
			jsonString="false";
		}
		return SUCCESS;
	}

}


火狐响应的信息:
{"jsonString":"false","userinfo":{"UAddress":null,"UCollects":null,"UEmail":null,"UFans":null,"UFollows":null,"UId":null,"UMobile":null,"UName":null,"UNickname":null,"UPhoto":null,"UPwd":"1 ","URegtime":null,"USex":null,"USignature":null,"UWeibos":null}}
2013年3月26日 22:06

5个答案 按时间排序 按投票排序

0 0

应该是哪个保存用户的方法有问题,究竟是什么问题,你应该debug看看吧。

2013年3月27日 13:50
0 0

发现两个问题:
1.
<listener> 
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
listener配置应该写在struts的filter之前

2。
<context-param> 
  <param-name>contextConfigLocation</param-name> 
  <param-value>classpath:applicationContext*.xml</param-value> 
</context-param>

applicationContext*.xml和你的spring的配置文件名称不一致

2013年3月27日 09:12
0 0

除了楼上几位的问题外,你的web.xml
<param-value>classpath:applicationContext*.xml</param-value> 

和你的application.xml 两个名字不一致啊。。。

2013年3月27日 08:48
0 0

userinfo.getUName(),试试看用属性名name,方法名getName,setName,最傻的就是属性名定义为xXxxx,至少是xxXxxx,试试看吧

2013年3月27日 07:56
0 0

userInfo里面有对应的get/set方法没有

2013年3月26日 22:18

相关推荐

    SSH和Spring框架简介

    SSH和Spring框架是Java开发中的两个重要工具,它们在企业级应用开发中占据了核心地位。SSH,是由Struts2、Spring和Hibernate三个框架组成的集成解决方案,而Spring则是一个全面的后端开发框架,包含了多种功能模块。...

    在SSH框架Spring的作用

    在探讨SSH框架中Spring的作用之前,我们先简要回顾一下SSH框架的基本构成。SSH框架,即Struts+Spring+Hibernate框架,是Java Web开发中的一种流行架构,它将三种技术结合在一起,各自承担不同的职责,共同构建出稳定...

    SSH框架JAR包集合

    SSH框架,全称为Spring、Struts和Hibernate,是Java Web开发中的一个经典组合,用于构建高效、可维护的Web应用程序。这些框架各自负责不同的职责,Spring作为基础架构框架,Struts处理视图与控制,Hibernate则专注于...

    SSH框架搭建源码

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个压缩包文件"SSHdemo"提供了一个SSH框架搭建登录功能的示例,帮助开发者了解并实践如何整合这三个框架来构建一个...

    Java SSH 框架整合,学习源码

    Java SSH 框架整合是Java开发中常见的一项技术,主要涉及Spring、Struts和Hibernate这三个开源框架。这些框架在企业级应用开发中扮演着重要角色,分别负责控制层、视图层和持久层的管理。下面将详细介绍SSH框架整合...

    struts spring hibernate ssh 三大框架集成详细步骤 手把手教你搭框架

    SSH(Struts + Spring + Hibernate)框架集成旨在实现MVC(Model-View-Controller)设计模式,为业务逻辑、数据访问以及用户交互提供了高效的解决方案。 **Struts框架**: Struts是一个开源的MVC框架,负责处理用户...

    SSH框架搭建步骤

    SSH框架,全称为Spring、Struts和Hibernate的首字母缩写,是Java开发中的一个经典组合,用于构建企业级Web应用程序。Spring提供了依赖注入(DI)和面向切面编程(AOP),Struts则处理MVC(模型-视图-控制器)架构,...

    SSH框架整合jar包

    SSH框架整合是Java Web开发中常见的一种技术栈组合,它由Spring、Struts2和Hibernate三个框架构成。这个"SSH框架整合jar包"是开发者为了方便项目构建,避免手动逐个添加和配置这三个框架所需的库文件而制作的集合。...

    SSH框架整合项目源码

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个项目源码提供了SSH整合的实践案例,特别适合初学者学习和理解Web应用的开发流程。 Struts2作为MVC(Model-View-...

    ssh框架整合详细步骤(spring+struts2+hibernate)

    ### SSH框架整合详细步骤(spring+struts2+hibernate) #### 一、整合概述 在现代Web应用开发中,SSH(Struts2、Spring、Hibernate)框架因其各自独特的功能和优势,常被组合使用以构建高效、稳定且易于维护的系统...

    ssh 框架搭建 pdf

    SSH框架是JavaEE领域中一种广泛使用的企业级开发框架,它由Struts、Spring和Hibernate三个开源框架整合而成。这个框架组合通过各自不同的功能和特点,使得Java Web应用程序的开发更加便捷高效。 Struts框架是一个...

    SSH三大框架登录小实例,以及spring的登录增删改查实例测试

    SSH三大框架,全称为Struts2、Hibernate和Spring,是Java Web开发中广泛使用的三大开源框架,它们分别负责表现层、持久层和业务层的管理。在这个实例中,我们将探讨如何利用这三个框架实现一个简单的登录功能,并...

    ssh框架新手小项目

    SSH框架是Java开发中常用的三大框架整合,包括Spring、Struts和Hibernate。这些框架的组合为Web应用提供了模型-视图-控制器(MVC)架构的支持,极大地提高了开发效率和代码质量。 Spring框架是SSH的核心,它是一个...

    新SSH(Spring+SpringMVC+Hibernate)框架结构的java web案例实践

    随着struts的安全问题的暴露,原由Struts2+spring+hibernate构成的SSH2已经被越来越多的开发者所弃用,反而,由Spring+SpringMVC+Hibernate构成的SSH框架越来越受欢迎!这里提供了一个案例代码,希望对大家搭建环境...

    ssh框架jar包大全

    SSH框架,全称为Spring、Struts、Hibernate,是Java Web开发中的一个经典组合。这个框架集合了Spring的依赖注入和事务管理,Struts的MVC设计模式,以及Hibernate的对象关系映射工具,为开发者提供了强大的企业级应用...

    ssh框架所有jar包

    SSH框架,全称为Struts2、Hibernate3和Spring3,是Java开发中广泛使用的三大开源框架的组合。它们各自在Web应用的模型-视图-控制器(MVC)架构的不同层面上发挥着关键作用,共同构建出高效、灵活且可扩展的企业级...

    SSH框架整合struts2.3.4+spring3.1.3+Hibernate4.1.4

    总的来说,SSH框架整合是Java Web开发中的一个强大工具,它将Struts2的MVC设计模式、Spring的依赖注入和事务管理以及Hibernate的对象关系映射结合在一起,为开发人员提供了高效、稳定的开发环境。对于初学者而言,...

    Struts2+Spring+Hibernate+MySQl的纯净SSH框架

    Struts2+Spring+Hibernate,简称SSH,是Java Web开发中的一个经典组合,它整合了三个强大的开源框架,为开发者提供了高效、灵活的MVC(Model-View-Controller)架构支持。下面将详细介绍这三个框架以及它们如何协同...

    三大框架SSH架包

    SSH是Java Web开发中的三大主流框架,分别是Spring、Hibernate和Struts2的缩写。这个压缩包包含了这些框架的关键组件,使得开发者能够快速构建基于SSH的Web应用。 **Spring框架**: Spring是一个全面的后端应用程序...

    SSH(spring+springmvc+mybatis)框架

    SSH框架,全称为Spring、SpringMVC和MyBatis的集成框架,是Java Web开发中常用的三大组件。Spring作为核心容器,负责管理对象及其依赖关系;SpringMVC处理Web层的请求分发;MyBatis则专注于数据访问层,简化SQL操作...

Global site tag (gtag.js) - Google Analytics