论坛首页 Java企业应用论坛

Dwr2+Struts2+Spring2.5+Hibernate3完美整合--用户登录注册系统

浏览 46645 次
精华帖 (6) :: 良好帖 (5) :: 新手帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-10-23  
...........貌似没有数据库脚本啊。
0 请登录后投票
   发表时间:2008-11-11  
不错的实例,不错的实力!能否发给我lib包 125net@163.com 谢谢!
0 请登录后投票
   发表时间:2008-11-11  
太感谢了,正愁没有实例呢。
0 请登录后投票
   发表时间:2008-11-11  
太感谢了,正愁没有实例呢。
0 请登录后投票
   发表时间:2008-11-11  
一次性复制,通过!太帅了!
0 请登录后投票
   发表时间:2008-11-11  
commons-fileupload-1.2.1.jar
确实可以不用
0 请登录后投票
   发表时间:2008-12-20  
严重: Exception starting filter struts2
Caught exception while loading file struts-default.xml - [unknown location]

Caused by: java.lang.ClassCastException: org.apache.xerces.parsers.XML11Configuration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)


struts2 spring2.5 整合 Hibernate3.1 加载 jta.jar 后报错.

请问,有什么好的方法解决吗?
0 请登录后投票
   发表时间:2008-12-29  
jackzhangyunjie 写道
  用户注册和登录是每个系统的必须存在的一部分,基于Dwr+Struts2+Spring+Hibernate写了一个用户登录注册系统。
  其中用Dwr去进行用户注册的用户是否存在的验证。
  全部业务控制交由Spring去进行处理。事务处理也交由Spring去管理。
  压缩文件中不包含Jar文件(由于全部的Jar将近12M,不能全部上传),所用到的Jar目录为,工程中再也不会出现由于MyEclipse自动整合而出现的大量Jar文件

//如果不用,启动时不会出错,但使用Dwr时,会抛出异常:java.lang.NoClassDefFoundError: antlr/ANTLRException
antlr-2.7.2.jar 

//如果不用此包,在启动时会抛出: nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/Type
asm.jar

//如果不用此包,在启动时抛出:nested exception is java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
aspectjweaver.jar

//如果不用此包,在启动时抛出:nested exception is java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
cglib-2.1.3.jar

//如果不用此包,在启动时抛出:nested exception is java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap
commons-collections-3.1.jar

//这个似乎可以不用的
commons-fileupload-1.2.1.jar

//这个就不用说啦,几乎所有框架都要使用的
commons-logging-1.0.4.jar 

//如果不用此包会抛出:java.lang.NoClassDefFoundError: org/dom4j/DocumentException
dom4j-1.6.1.jar

//dwr必须
dwr.jar 


//不用此包,在启动时招聘:java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
jta.jar

//Mysql JDBC驱动
mysql-connector.jar

//Hibernate必须使用,注意此包是包含全部的。
hibernate3.jar

//Spring整体包
spring.jar            

//struts2必须               
freemarker-2.3.8.jar   
//struts2必须
ognl-2.6.11.jar       
//struts2核心包
struts2-core-2.0.11.2.jar
//struts2整合Spring插件  
struts2-spring-plugin-2.0.11.2.jar 
//struts2必须
xwork-2.0.5.jar 


  数据库设计(使用MySql数据库):
create table user
(
  id varchar(32) not null,
  userName varchar(20),
  password varchar(20),
  primary key(id)
);
create table user_infor
(
  id varchar(32) not null,
  user_id varchar(32),
  name varchar(20),
  email varchar(30),  
  sex char,
  age int,
  address varchar(300),
  primary key(id)
);
ALTER TABLE user_infor
    ADD FOREIGN KEY(user_id) 
    REFERENCES user(id)
    ON DELETE CASCADE;

由于没有包含全部的Jar文件,所以朋友需要把上面所述的Jar加载。
如果有需要Jar文件的朋友可以发邮件给我:jackzhangyunjie@163.com,我会把所有Jar文件发给大家。

0 请登录后投票
   发表时间:2009-01-18  

LZ 你好 :

      我是一个新手  才工作J2EE 3个月 一直用的Struts1.2 1.38 有几个问题想请教你一下 希望可以看到你的精彩言论!!!先谢!

      你的XML文件

applicationContext.xml

dao.xml

hibernate.cfg.xml 

 servicesContext.xml

 (由于太长我就不写里面具体内容)

新手的原因 一直套现用 我之前用的1.2和1.38整合 是这样写的如下(和你不是一个web工程 看了就懂)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName">
			<value>com.mysql.jdbc.Driver</value>
		</property>
		<property name="url">
			<value>jdbc:mysql://localhost:3306/123</value>		
		</property>
		<property name="username">
			<value>root</value>
		</property>
		<property name="password">
			<value>lenovo</value>
		</property>
	</bean>
	
	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref local="dataSource"/>
		</property>
		<property name="hibernateProperties">
			<props>
				
				<prop key="hibernate.show_sql">true</prop>
			</props>
		</property>
		
	<property name="mappingResources">
			<list>
				<value>com/lenovo/bean/User.hbm.xml</value>
			</list>
		</property>
	</bean>

	<bean id="logindao" class="com.lenovo.dao.impl.LoginDaoImpl">
		<property name="sessionFactory">
			<ref local="sessionFactory"/>
		</property>
	</bean>

	<bean name="/login" class="com.lenovo.action.LoginAction">
		<property name="dao">
			<ref local="logindao"/>
		</property>
	</bean>
</beans>

 

spring 支持hibernate 所以我连接数据库和dao 就合成在applicationContex.xml里了

 

你最后一个servicesContext.xml 大概内容如下

	<import resource="classpath:com/jack/user/config/dao.xml"/>
	<bean id="userServices" class="com.jack.user.model.impl.UserServices">
		<property name="userDAO" ref="UserDAO"/>
	</bean>
	<!-- Struts2的Action交由Spring控制 -->
	<bean id="loginAction" class="com.jack.user.action.LoginAction">
		<property name="userServices" ref="userServices"/>
	</bean>
	<!-- 事务处理 -->
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>

	<!-- 事务控制 -->
	<tx:advice id="txAdvice"
		transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="save*" propagation="REQUIRED" />
			<tx:method name="update*" propagation="REQUIRED" />
			<tx:method name="remove*" propagation="REQUIRED" />
			<tx:method name="get*" read-only="true" />
		</tx:attributes>
	</tx:advice>

	<aop:config>
		<!-- 管理事务操作 -->
		<aop:pointcut id="servicesPointcut"
			expression="execution(* com.jack.user.model.*.*(..))" />
		<aop:advisor advice-ref="txAdvice"
			pointcut-ref="servicesPointcut" />
	</aop:config>
</beans>

 

我就看不明白了  还希望你能指点一下

 

 

还有我的action里的写法和你有很大不同 我基本是这样写的 难道是struts2就用你那样写了?

 

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.lenovo.bean.User;
import com.lenovo.dao.LoginDao;

public class LoginAction extends Action {
	private LoginDao dao;

	public LoginDao getDao() {
		return dao;
	}

	public void setDao(LoginDao dao) {
		this.dao = dao;
	}

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

		 String username=request.getParameter("username");
		 String password=request.getParameter("password");
		 User user=dao.Query(username,password);
		 if(user!=null)
		 {
			request.getSession().setAttribute("user", user);

			 return mapping.findForward("Ok");
			 
		 }else
		 	{
			 request.setAttribute("ERROR","用户名,密码错误");
			 return mapping.findForward("No");
		 	}
	
	}
我目前用到的struts就是取代servlet的 其他还没用过  很不好意思说出来 哈哈 
我还在学习阶段 望大家多多指点  知识最正确的发展方向就是像sun一样开源 我坚信 有容乃大  
期待你们的精彩评语  


 

0 请登录后投票
   发表时间:2009-02-13  
请问楼主:
在servicesContext.xml中一段配置一直没弄明白。
代码段:
<!-- Struts2的Action交由Spring控制 -->
<bean id="loginAction" class="com.jack.user.action.LoginAction">
<property name="userServices" ref="userServices"/>
</bean>

在这里,spring是怎么注入Struts2的Action?
我没看到其他地方有那个struts2-spring-plugin的相关配置啊?
奇怪了!
0 请登录后投票
论坛首页 Java企业应用版

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