`
chenyingjie1001
  • 浏览: 19258 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

学习小项目--学生信息管理系统用ssh2完善数据库用的是mysql

    博客分类:
  • ssh2
阅读更多

前些天做了个学生信息的管理系统 无非是些信息的增删改查  这次用了ssh2不用模拟数据库了

注意点:

1.jar包

2.applicationContext.xml  struts.xml  hibernate.cfg.xml  mode中类和映射文件User.hbm.xml

3.配置稍稍有点不同  

用hibernateTemplate配置了sessionFactory在dao中配置了hibernateTemplate  也可以直接配置seesionFactory

 

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
		<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

4.在struts.xml中配置action 中的class必须和对应在applicationContext.xml的<bean id="***Action" class="com.***.action.**Action"> id的名字相对应,这样网页提交的action才能用spring实例化的对象

5.在(用User做对象)UserAction 中 声明userService  或者在UserService中声明UserDAO的时候最好用接口声明

用的是动态代理  当然用类直接声明也是可以的  用的就是CGILB代理

6.dao要extends  HibernateDaoSupport  

下面放spring 和struts的配置 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>
	<bean id="userAction" class="com.aowin.action.UserAction" scope="prototype">
		<property name="userService" ref="userService"></property>
	</bean>
	
	<bean id="userService" class="com.aowin.serviceimpl.UserServiceImpl">
		<property name="userDAO" ref="userDAO"></property>
	</bean>

	<bean id="userDAO" class="com.aowin.daoimpl.UserDAOImpl">
		<property name="hibernateTemplate" ref="hibernateTemplate"></property>
	</bean>
	
	<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>

	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
	</bean>
	<!-- 负责开启、提交事务 -->
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	
	<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
		<property name="transactionManager" ref="transactionManager"></property>
		<property name="transactionAttributes">
			<props>
				<prop key="*">PROPAGATION_REQUIRED</prop>
			</props>
		</property>
	</bean>
	
	<bean id="autoproxy" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
		<property name="beanNames" value="*Service"></property>
		<property name="interceptorNames" value="transactionInterceptor"></property>
	</bean>
</beans>

 struts

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <constant name="struts.devMode" value="true" />
    
   <package name="default" namespace="/user" extends="struts-default">
		<action name="userlist" class="userAction" method="getUsers">
			<result>/list.jsp</result>
		</action>
		
		<action name="input" class="userAction" method="addInput">
			<result>/input.jsp</result>
		</action>
		
		<action name="update" class="userAction" method="update">
			<result>/update.jsp</result>
		</action>
		
		<action name="updatedo" class="userAction" method="updatedo">
			<result name="input">/result.jsp</result>
			<result>/result.jsp</result>
		</action>
		
		<action name="delete" class="userAction" method="delete">
			<result>/result.jsp</result>
		</action>
		 
		<action name="add" class="userAction" method="addUser">
			<!-- 配置重复提交的拦截器 -->
			<interceptor-ref name="token"></interceptor-ref>
			<!-- 配置全局的拦截器(有单独的拦截器默认的就会被替换掉,注意此时一定要加上) -->
			<interceptor-ref name="defaultStack"></interceptor-ref>
			<result name="input">/result.jsp</result>
			<result name="success">/result.jsp</result>
			<result name="invalid.token">/error.jsp</result>
		</action>
	</package>
</struts>

 dao 

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.aowin.idao.IUserDAO;
import com.aowin.model.User;

public class UserDAOImpl extends HibernateDaoSupport implements IUserDAO {

	public void addUser(User user) {
		this.getHibernateTemplate().save(user);
	}

	public void deleteUser(User user) {
		this.getHibernateTemplate().delete(user);
	}

	public List<User> getAllUser() {
		String hql = "from User" ;
		List<User> list = this.getHibernateTemplate().find(hql);
		return list;
	}

	public void updateUser(User user) {
		this.getHibernateTemplate().update(user);
	}

	public User getOneUser(int id) {
		String hql = "select u from User u where u.id=?";
		List<User> list = this.getHibernateTemplate().find(hql, id);
		return list.get(0);
	}
}

 action  中部分代码是老师的:

import java.util.List;

import com.aowin.iservice.IUserService;
import com.aowin.model.User;
import com.aowin.serviceimpl.UserServiceImpl;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class UserAction extends ActionSupport {

	private int id;
	private String message;
	private User user;
	private List<User> userList;
	private IUserService userService;

	public IUserService getUserService() {
		return userService;
	}

	public void setUserService(IUserService userService) {
		this.userService = userService;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public List<User> getUserList() {
		return userList;
	}

	public void setUserList(List<User> userList) {
		this.userList = userList;
	}

	/**
	 * 查询所有用户
	 * 
	 * @return
	 */
	public String getUsers() {
		userList = userService.getUserList();
		return Action.SUCCESS;
	}

	/**
	 * 准备添加用户
	 * 
	 * @return
	 */
	public String addInput() {
		return Action.SUCCESS;
	}

	/**
	 * 添加用户
	 * 
	 * @return
	 */
	public synchronized String addUser() {
		userList = userService.getUserList();
		// 业务逻辑的验证
		if (userList.contains(this.user)) {
			this.message = "已经存在相同用户,不能添加";
			return "input";
		}

		// 增加用户
		userService.addMessage(user.getUsername(), user.getAddress());
		this.message = "添加用戶成功";
		return Action.SUCCESS;
	}

	/**
	 * 验证表单输入的合法性
	 */
	public void validateAddUser() {
		if (null == this.user) {
			this.message = "请输入合法的用户名,地址";
			// 强制去找input试图
			this.addFieldError("", "");
		} else if (null == user.getAddress() || "".equals(user.getAddress())) {
			this.message = "请输入合法的用户名或者地址";
			this.addFieldError("", "");
		} else if (null == user.getUsername() || "".equals(user.getAddress())) {
			this.message = "请输入合法的用户名或者地址";
			this.addFieldError("", "");
		}
	}

	/**
	 * 准备修改用户
	 * 
	 * @return
	 */
	public String update() {
		for (User u : userService.getUserList()) {
			if (u.getId() == this.id) {
				user = u;
			}
		}
		return Action.SUCCESS;
	}

	/**
	 * 修改用户
	 * 
	 * @return
	 */
	public String updatedo() {
		// 用户名 密码没有实际修改就提交
		for (User u : userService.getUserList()) {
			if (u.getId() == this.id
					&& u.getUsername().equals(user.getUsername())
					&& u.getAddress().equals(user.getAddress())) {
				this.message = "您没有做修改";
				return Action.INPUT;
			}
		}
		// 用户名密码确实有修改过
		if (userService.getUserList().contains(this.user)) {
			this.message = "存在相同的用户名、地址,不能修改";
			return Action.INPUT;
		}
		userService.updateMessage(id, user.getUsername(), user
				.getAddress());
		this.message = "修改用户成功";
		return Action.SUCCESS;
	}

	/**
	 * 验证修改用户
	 */
	public void validateUpdatedo() {
		// 验证表单输入域的合法性
		validateAddUser();
	}

	/**
	 * 删除用户
	 * 
	 * @return
	 */
	public String delete() {
		userService.delMessage(id);
		this.message = "删除成功";
		return Action.SUCCESS;
	}
}
 显示用的是jsp页面  可以用S标签  也可以用一般的html标签

 

1
1
分享到:
评论

相关推荐

    学生成绩管理系统(SSH+MYSQL)

    【SSH+MYSQL学生成绩管理系统】是一个典型的Java Web应用程序,主要使用了Struts2、Spring和Hibernate这三个框架,配合MySQL数据库来实现对学生成绩的有效管理。这个系统为初学者提供了学习和实践SSH框架集成开发的...

    java开发项目基于SSH三大框架的学生管理系统源代码.zip

    java开发项目基于SSH三大框架所编写的学生管理系统源代码,这是基于SSH三大框架所编写的学生管理系统(课设),MySql数据库,主要功能有: 管理员登入、学生信息的录入、学生成绩录入、课程信息录入、教师管理等。...

    SSH+Mysql学生信息管理系统

    这个SSH+MySQL学生信息管理系统为教育机构提供了一种高效、便捷的方式来管理学生数据,同时也为开发者提供了学习和实践SSH框架以及数据库管理的良好平台。通过深入研究和定制,可以进一步扩展功能,例如增加教师管理...

    学生成绩管理系统(SSH+MYSQL).zip

    在“学生成绩管理系统(SSH+MYSQL)”这个项目中,SSH指的是Spring、Struts和Hibernate这三个Java Web开发框架的组合,而MYSQL则是常用的开源关系型数据库管理系统。下面我们将深入探讨SSH框架和MYSQL数据库在构建此类...

    ext 图书管理系统 集成SSH MYSQL数据库

    【EXT 图书管理系统集成SSH与MYSQL数据库】 EXT 图书管理系统是一个基于Web的图书管理应用程序,它利用EXT JS作为前端框架,构建用户界面,提供丰富的交互性和美观的视觉体验。EXT JS是一个强大的JavaScript库,...

    ssh2+mysql论坛完整代码和数据库文件

    4. **MySQL数据库**:MySQL是一种广泛使用的开源关系型数据库管理系统,因其高效、稳定和易于管理而受到青睐。在论坛系统中,MySQL用于存储用户信息、帖子、回复等数据。 5. **MyEclipse集成环境**:MyEclipse是...

    基于SSH+MySQL的学生成绩管理系统

    【基于SSH+MySQL的学生成绩管理系统】是一个典型的Web应用程序,它结合了Struts、Spring和Hibernate(SSH)三大框架,以及MySQL关系型数据库来实现高效、稳定的学生成绩管理。SSH框架组合提供了模型-视图-控制器...

    学生信息管理系统SSH+MySql+Tomcat

    总之,“学生信息管理系统SSH+MySql+Tomcat”项目是一个全面的Web应用示例,涵盖了从前端到后端、从数据库到服务器的全套技术栈,对于学习和理解Java Web开发的初学者来说,是非常有价值的实践资源。通过这个项目,...

    java的ssh框架 学生管理系统 mysql数据库

    在使用这个系统前,你需要先将`学生成绩管理系统(SSH+MYSQL)`这个压缩包解压,然后将SQL脚本导入到你的MySQL数据库中,创建相应的表结构。之后,配置SSH框架的数据库连接参数,确保程序能正确连接到你的MySQL数据库...

    java ssh+mysql大学信息管理系统源码+数据库

    本项目是一个基于Java的大学信息管理系统,采用了经典的SSH(Spring、Struts2、Hibernate)技术栈,配合MySQL数据库进行数据存储,实现了对重庆理工大学网站的功能。源码的完整性和可用性已经得到验证,但在使用过程...

    基于SSH2的学生信息管理系统

    在这个项目中,SSH2被用来设计和实现一个学生信息管理系统,旨在管理和处理与学生相关的数据,如个人信息、成绩、出勤等。系统的核心功能包括数据存储、查询、更新和删除,通过整合这三个框架的优势,实现了业务逻辑...

    JAVA学生会管理信息系统SSH框架、mysql数据库

    学生会信息管理系统(管理员与注册用户)SSH框架 mysql数据库 管理员:用户管理、人员管理、活动管理、报名信息管理、密码修改 注册用户:资料修改、活动信息查看并报名、报名结果查看、密码修改 项目中数据...

    java-ssh-jsp-mysql学生公寓管理系统实现源码(项目源码-说明文档)

    基于JSP学生公寓管理系统的主要功能包括:可以实现对学生宿舍信息的录入功能,修改功能,删除功能。通过系统上述功能实现宿舍管理部门对于学生宿舍信息的日常管理,即方便宿舍管理人员及时全面地掌握学生住宿情况及...

    基于ssh的学生信息管理系统

    【基于SSH的学生信息管理系统】是一种使用JavaWeb技术栈开发的管理信息系统,主要采用了Spring、Struts2和Hibernate三个核心框架的组合,即SSH框架。这个系统设计的目标是为教育机构提供一个高效、便捷的方式来存储...

    SSH+MYSQL 学生成绩管理系统.zip

    SSH+MYSQL 学生成绩管理系统是一个基于SSH(Struts2、Spring、Hibernate)框架和MYSQL数据库构建的应用程序,用于高效管理学生的学习成绩。这个系统旨在提供一个用户友好的界面,让管理员、教师和学生能够方便地查看...

    JavaEE +SSH框架+mysql数据库 银行业务调度管理系统项目地址.docx

    总结来说,"JavaEE + SSH框架 + mysql数据库 银行业务调度管理系统"是一个综合性的项目,涵盖了Web开发中的关键技术和业务领域的具体应用。对于想要提升技能或者完成毕业设计的学生,这是一个绝佳的学习资源,不仅...

    学生成绩管理系统(SSH+MYSQL).rar

    【学生成绩管理系统(SSH+MYSQL)】是一个基于三大开源框架——Spring、Struts和Hibernate(简称SSH)以及MySQL数据库构建的应用程序。SSH是Java Web开发中常用的MVC(Model-View-Controller)架构模式的实现,而MySQL...

Global site tag (gtag.js) - Google Analytics