Struts 2+Hibernate 实现的交友社区

       1.项目思路:明确需求,确定模块,设计数据库,一共需要三张表:用户表,朋友表,留言表。然后MyEclipse搭建好框架,配置好框架化的数据库连接和实体文件的映射,接下来就可以着手做业务逻辑Biz类,控制类和JSP页面的设计,因时间有限,这里主要做功能端的实现,而前端页面就简单地设计,不那么精致地排版编写了,后期有时间再美化。

       2.实现的功能界面一栏(部分页面)


                                                  上图:用户登录



 

                                                 上图: 用户注册



                                                  上图:主页



                                         上图:添加已注册的用户为好友



                                           上图:查看个人留言板



                                                    上图:个人好友列表



                                                    上图:给用户留言



                                               上图:查看用户详细信息


3.因代码量庞大,这里只列出部分实例的实现(以用户注册为例)

    前端页面:register.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>用户注册-聚友网</title>
  </head>
  
  <body>
    <h2 align="center">用户注册</h2>
    <s:form action="regaction">
    	<s:textfield name="nameuser" label="用户名"></s:textfield>
    	<s:password name="passworduser" label="密码"></s:password>
    	<s:textfield name="ageuser" label="年龄"></s:textfield>
    	<s:textfield name="setuser" label="性别"></s:textfield>
    	<s:textfield name="emailuser" label="邮箱"></s:textfield>
    	<s:submit value="注册"></s:submit>
    </s:form>
    <hr color="#FAFAFA"/>
    <a href="login.jsp">已有账户登录</a>
  </body>
</html>

 实体类及实体映射文件(搭框架自动生成,与数据库表相对应)

User.java

package dao;



/**
 * User entity. @author MyEclipse Persistence Tools
 */

public class User  implements java.io.Serializable {

    // Fields    

     private Integer iduser;
     private String nameuser;
     private Integer ageuser;
     private String setuser;
     private String emailuser;
     private String passworduser;
    // Constructors

    /** default constructor */
    public User() {
    }

	/** minimal constructor */
    public User(String nameuser, String passworduser) {
        this.nameuser = nameuser;
        this.passworduser = passworduser;
    }
    
    /** full constructor */
    public User(String nameuser, Integer ageuser, String setuser, String emailuser, String passworduser) {
        this.nameuser = nameuser;
        this.ageuser = ageuser;
        this.setuser = setuser;
        this.emailuser = emailuser;
        this.passworduser = passworduser;
    }
    // Property accessors

    public Integer getIduser() {
        return this.iduser;
    }
    
    public void setIduser(Integer iduser) {
        this.iduser = iduser;
    }

    public String getNameuser() {
        return this.nameuser;
    }
    
    public void setNameuser(String nameuser) {
        this.nameuser = nameuser;
    }

    public Integer getAgeuser() {
        return this.ageuser;
    }
    
    public void setAgeuser(Integer ageuser) {
        this.ageuser = ageuser;
    }

    public String getSetuser() {
        return this.setuser;
    }
    
    public void setSetuser(String setuser) {
        this.setuser = setuser;
    }

    public String getEmailuser() {
        return this.emailuser;
    }
    
    public void setEmailuser(String emailuser) {
        this.emailuser = emailuser;
    }

    public String getPassworduser() {
        return this.passworduser;
    }
    
    public void setPassworduser(String passworduser) {
        this.passworduser = passworduser;
    }

}

User.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="dao.User" table="user" catalog="friend">
        <id name="iduser" type="java.lang.Integer">
            <column name="iduser" />
            <generator class="identity" />
        </id>
        <property name="nameuser" type="java.lang.String">
            <column name="nameuser" length="45" not-null="true" unique="true" />
        </property>
        <property name="ageuser" type="java.lang.Integer">
            <column name="ageuser" />
        </property>
        <property name="setuser" type="java.lang.String">
            <column name="setuser" length="4" />
        </property>
        <property name="emailuser" type="java.lang.String">
            <column name="emailuser" length="45" />
        </property>
        <property name="passworduser" type="java.lang.String">
            <column name="passworduser" length="45" not-null="true" />
        </property>
    </class>
</hibernate-mapping>

业务逻辑类

RegBiz.java

package biz;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import dao.User;
/*
 * 注册逻辑
 */
public class RegBiz {
	Configuration configuration = null;
	SessionFactory sessionFactory = null;
	Session session = null;
	Transaction transaction = null;
	public RegBiz(User user){
		// TODO Auto-generated constructor stub
		configuration = new Configuration().configure();
		sessionFactory = configuration.buildSessionFactory();
		session = sessionFactory.openSession();
		transaction = session.beginTransaction();
		
		session.save(user);
		transaction.commit();
		session.close();
	}
	
	
}

控制类(调用业务逻辑,实现功能,在register.jsp页面上反馈)

RegAction.java

package action;

import biz.RegBiz;

import com.opensymphony.xwork2.ActionSupport;

import dao.User;

public class RegAction extends ActionSupport {
	private static final long serialVersionUID = 1L;
	private Integer iduser;
	private String nameuser;
	private Integer ageuser;
	private String setuser;
	private String emailuser;
	private String passworduser;
	public Integer getIduser() {
		return iduser;
	}
	public void setIduser(Integer iduser) {
		this.iduser = iduser;
	}
	public String getNameuser() {
		return nameuser;
	}
	public void setNameuser(String nameuser) {
		this.nameuser = nameuser;
	}
	public Integer getAgeuser() {
		return ageuser;
	}
	public void setAgeuser(Integer ageuser) {
		this.ageuser = ageuser;
	}
	public String getSetuser() {
		return setuser;
	}
	public void setSetuser(String setuser) {
		this.setuser = setuser;
	}
	public String getEmailuser() {
		return emailuser;
	}
	public void setEmailuser(String emailuser) {
		this.emailuser = emailuser;
	}
	public String getPassworduser() {
		return passworduser;
	}
	public void setPassworduser(String passworduser) {
		this.passworduser = passworduser;
	}
	
	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		User user = new User();
		user.setNameuser(this.getNameuser());
		user.setPassworduser(this.getPassworduser());
		user.setAgeuser(this.getAgeuser());
		user.setSetuser(this.getSetuser());
		user.setEmailuser(this.getEmailuser());
		
		new RegBiz(user);
		return SUCCESS;
	}
	
	
}

                                                     

                                          




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潇潇雨歇_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值