设为首页 收藏本站
查看: 553|回复: 0

[经验分享] 学习小项目--学生信息管理系统用ssh2完善数据库用的是mysql

[复制链接]

尚未签到

发表于 2016-10-24 10:10:55 | 显示全部楼层 |阅读模式
  前些天做了个学生信息的管理系统 无非是些信息的增删改查  这次用了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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-290579-1-1.html 上篇帖子: 【MySql】文件内容写入数据库和从数据库写入文件 下篇帖子: inux系统上安装MySQL 5.5prm
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表