论坛

来源:互联网 发布:云计算的应用场景 编辑:程序博客网 时间:2024/04/27 07:35

说明:

1.用到了Struts2和hibernate没有用到spring综合去管理项目

2.tomcat中的端口为8080没有修改过的,你那边也默认为8080,然后不用改了,部署好了之后直接浏览器中输入http://localhost:8080/Struts2Demo/login 

3.所有的要自己新建的配置文件(比如:struts.xml,hibernate.cfg.xml,log4j.properties)都只需要在选中src文件夹,然后新建相应的文件就行了

4.关于log4j--其实这个你想要的效果可以去配置这个log4j.properties文件(就是日志的格式,或者日志存储的目的地等),我随便配的,效果应该不是你想要的

5.没有分页,注销没有写(注销的话把session删了,然后跳回登录页面就行了)

6.前台没有css,前段框架之类的,如果你会前段框架可以把一些按钮,表单之类的美化下(可以用bootstraps,这个只要引入js,css文件就可以用了)

7.还有就是回复应该是写了,但是没有测试(就是说方法有了,还没测试)


项目结构









具体的代码:

package com.hikvision.login --这个包下面的


action

LoginAciton.java


package com.hikvision.login.action;


import java.util.ArrayList;
import java.util.List;
import java.util.Map;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;


import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import org.hibernate.Session;


import tutorial.TestLog;


import com.hikvision.login.dao.UserDao;
import com.hikvision.login.model.User;
import com.hikvision.login.service.UserService;
import com.hikvision.login.service.UserServiceImpl;
import com.hikvision.poster.model.Poster;
import com.hikvision.poster.service.PosterService;
import com.hikvision.poster.service.PosterServiceImpl;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;


public class LoginAction extends ActionSupport{


private String code;
private User user;
private Poster poster;
private String userid;//用于传递登录人的id
private String flaginfo;//对用户操作的标识:新建还是修改
private String postidinfo;//选中帖子的id
private List<User> list = new ArrayList<User>();//后台查到所有的User的对象
private List<Poster> listP;//后台查到所有的Poster的对象
private UserService userService = new UserServiceImpl();
private PosterService posterService = new PosterServiceImpl();



//HttpServletRequest request = ServletActionContext.getRequest();
private static Logger log = Logger.getLogger(LoginAction.class);

//ActionContext cxt = ActionContext.getContext();
//HttpServletRequest request = (HttpServletRequest)cxt.get(ServletActionContext.HTTP_REQUEST);  

HttpServletRequest request=ServletActionContext.getRequest();





public String login(){

return SUCCESS;
}

public String logincheck(){
User user1 = new User();
String result = "";
user1 = userService.getUser(user.getUsername());
if(user1!=null&&"admin123456+".equals(user1.getUserpassword())){//管理员登录
list = userService.getAllObject();//返回所有的用户
result= SUCCESS;
}else if(user1!=null&&user.getUserpassword().equals(user1.getUserpassword())){//普通用户登录--用户名密码对

userid = user1.getId().toString();
request.setAttribute("userid", userid);
user.setId(user1.getId());//这个地方不设置的话,下面的sessin中的id是为空的
//设置session
request.getSession().setAttribute("user",user);
request.getSession().setAttribute("userid",userid);

listP = posterService.getAllPosters();//显示所有的帖子
return SUCCESS;
}else{//普通用户登录--用户名密码错
code="1001";
return "error";//用户名或密码错误
}
return result;

}
public String loginback(){
if("1001".equals(code)){
return "success";
}
return "false";
}

//测试与hibernate连接
public String testHibernate(){
userService.getObject();
return SUCCESS;
}

//跳转到adduser.jsp
public String toHome(){
if("NOADMINedit".equals(flaginfo)){
user=userService.findUserById(userid);
request.setAttribute("user", user);
}

return SUCCESS;
}

//添加用户addUser
public String addUser(){
if("admin".equals(user.getUsername())){//管理员


}else if(!"admin".equals(user.getUsername())){//普通用户
if("NOADMINedit".equals(flaginfo)){
User user2= new User();
user2.setId(user.getId());
user2.setUsername(user.getUsername());
user2.setUserpassword(user.getUserpassword());
userService.editUser(user2);
userid = user2.getId().toString();
request.setAttribute("userid", userid);

}else{
userService.addUser(user);
}


}


return SUCCESS;
}




//setter , getter

public User getUser() {
return user;
}


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


public List<User> getList() {
return list;
}


public void setList(List<User> list) {
this.list = list;
}


public String getCode() {
return code;
}


public void setCode(String code) {
this.code = code;
}


public String getUserid() {
return userid;
}


public void setUserid(String userid) {
this.userid = userid;
}


public String getFlaginfo() {
return flaginfo;
}


public void setFlaginfo(String flaginfo) {
this.flaginfo = flaginfo;
}


public List<Poster> getListP() {
return listP;
}


public void setListP(List<Poster> listP) {
this.listP = listP;
}


public Poster getPoster() {
return poster;
}


public void setPoster(Poster poster) {
this.poster = poster;
}


public String getPostidinfo() {
return postidinfo;
}


public void setPostidinfo(String postidinfo) {
this.postidinfo = postidinfo;
}






}


dao

BaseDao.java

package com.hikvision.login.dao;


import java.util.List;


public interface BaseDao<T,PK> {

public List<T> getAllObjects(Class<T> entityClass);




}

UserDao.java


package com.hikvision.login.dao;


import java.util.List;


import com.hikvision.login.model.User;


public interface UserDao extends BaseDao<User,Integer> {


public User login(String name,String password);
public User findById(Integer id);
public List<User> findAdminPage(int nowPage,int pageSize);

public List<User> getAll();

//添加用户
public void saveUser(User user2);

//获得所有用户
public List<User> getAllObject();
public User getUser(String name);
public User getUserById(String userid);
public void editUser(User user);
}



UserDaoImpl.java

package com.hikvision.login.dao;


import java.util.Iterator;
import java.util.List;


import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;


import com.hikvision.login.model.User;


//实现接口A,不仅要实现接口A中的方法,而且也要实现接口A所集成的接口B的方法
public class UserDaoImpl implements UserDao{



//默认读取hibernate.cfg.xml文件  
    Configuration cfr = new Configuration().configure();  
    //SchemaExport export = new SchemaExport(cfr);  
    //export.create(true, true);  
    
    SessionFactory factory = cfr.buildSessionFactory();  
    Session session = null;  

public List<User> findAdminPage(int nowPage, int pageSize) {
// TODO Auto-generated method stub
return null;
}
//org.hibernate.cfg.Configuration;
public User findById(Integer id) {
// TODO Auto-generated method stub
return null;
}


public User login(String name, String password) {
// TODO Auto-generated method stub
return null;
}


public List<User> getAllObjects(Class<User> entityClass) {
// TODO Auto-generated method stub
return null;
}



public List<User> getAll() {


       try{
      session = factory.openSession();  
           //开启事务  
           session.beginTransaction();  
             
           User user = new User();  
           user.setUsername("tt");
           user.setUserpassword("111111");
             
           session.save(user);  
           //提交事务  
           session.getTransaction().commit();  
      
       }catch(Exception e){
      e.printStackTrace();  
           //回滚事务  
           session.getTransaction().rollback();
       } finally{
      if(session != null){  
               if(session.isOpen()){  
                   //关闭session  
                   session.close();  
               }  
           }  
       }
        
return null;
}

//添加用户
public void saveUser(User user2) {

try{
      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  
            
          User user = new User();  
          user.setUsername(user2.getUsername());
          user.setUserpassword(user2.getUserpassword());
            
          session.save(user);  
          //提交事务  
          session.getTransaction().commit();  
      
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }


}

//修改用户
public void editUser(User user) {
try{
      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  
          
          
            
          session.saveOrUpdate(user);
          //提交事务  
          session.getTransaction().commit();  
      
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }

}

public List<User> getAllObject() {
List userList = null;
try{

      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  
            
          Query query = session.createQuery("from User");
          userList = query.list();
            
          for(Iterator<User> it = userList.iterator();it.hasNext();){
          User user = it.next();
          System.out.println(user.getId()+":"+user.getUsername()+":"+user.getUserpassword());
          
          }
         
          
      
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }

return userList;
}

//根据用户名去查找用户
public User getUser(String name) {
List userList = null;
User user = null;
try{
      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  
           
          Query query = session.createQuery(" from User t where t.username = ? ");
          query.setString(0, name);
           
          userList = query.list(); 
          if(userList!=null){
          user = (User) userList.get(0);
          }
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }

return user;
}

//根据id查询用户
public User getUserById(String userid) {

List userList = null;
User user = null;
try{
      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  
           
          Query query = session.createQuery(" from User t where t.id = ? ");
          query.setString(0, userid);
           
          userList = query.list(); 
          if(userList!=null){
          user = (User) userList.get(0);
          }
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }


return user;
}



}

model

User.java

package com.hikvision.login.model;


public class User implements java.io.Serializable{

private Integer id;
private String username;
private String userpassword;



private static final long serialVersionUID = 1L;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpassword() {
return userpassword;
}
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
}



}

User.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2014-12-14 14:51:48 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="com.hikvision.login.model.User" table="users">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="increment" />
        </id>
        <property name="username" type="java.lang.String">
            <column name="username" />
        </property>
        <property name="userpassword" type="java.lang.String">
            <column name="userpassword" />
        </property>
    </class>
</hibernate-mapping>



Service

UserService.java


package com.hikvision.login.service;


import java.util.List;


import com.hikvision.login.model.User;


public interface UserService {

//public static final User user = null;
//这个用于hibernate的测试
public List<User> getObject();

//获得数据库中所有的user
public List<User> getAllObject();


public void addUser(User user2);


public User getUser(String name);


public User findUserById(String userid);


public void editUser(User user);


}





UserServiceImpl.java

package com.hikvision.login.service;


import java.util.List;


import com.hikvision.login.dao.UserDao;
import com.hikvision.login.dao.UserDaoImpl;
import com.hikvision.login.model.User;


public class UserServiceImpl implements UserService{


private UserDao userDao = new UserDaoImpl();
List list = null;
private User user;

//这个用于hibernate的测试
public List<User> getObject() {


list = userDao.getAll();
return list;
}


//添加用户
public void addUser(User user2) {
// TODO Auto-generated method stub
userDao.saveUser(user2);
}

//修改用户
public void editUser(User user) {
// TODO Auto-generated method stub
userDao.editUser(user);

}


//获得数据库中所有的user
public List<User> getAllObject() {

return userDao.getAllObject();
}

public User getUser(String name) {
// TODO Auto-generated method stub
return userDao.getUser(name);
}

//根据id查询用户
public User findUserById(String userid) {
// TODO Auto-generated method stub
return userDao.getUserById(userid);
}




//get set
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}



public User getUser() {
return user;
}


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

}


package com.hikvision.poster;

action

PosterAction.java

package com.hikvision.poster.action;


import java.util.Date;
import java.util.List;
import java.util.Map;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;


import org.apache.struts2.ServletActionContext;


import com.hikvision.login.model.User;
import com.hikvision.poster.model.Contents;
import com.hikvision.poster.model.Poster;
import com.hikvision.poster.service.PosterService;
import com.hikvision.poster.service.PosterServiceImpl;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;


public class PosterAction extends ActionSupport{


private Poster poster;
private User user;
private Contents content;
private List<Poster> listP;
private List<Contents> listContent;
private String postidinfo;//选中帖子的id
private PosterService posterService = new PosterServiceImpl();
private String userid;//用于传递登录人的id

HttpServletRequest request=ServletActionContext.getRequest();


//跳转到新帖页面
public String newposter(){
//这个是从帖子的详细页面 --点击’编辑‘按钮时 过来的
if(postidinfo!=null){
poster = posterService.findPosterById(postidinfo);
}
return SUCCESS;
}

//新帖子的form表单的提交
public String addposter(){
String falginfo="";

if(postidinfo!=null&&poster.getId()!=null){//编辑帖子
Poster oldPoster = posterService.findPosterById(postidinfo);
oldPoster.setPostertext(poster.getPostertext());
oldPoster.setPostertitle(poster.getPostertitle());
posterService.editPoster(oldPoster);
falginfo="EDITINFO";
}else{//新建帖子
posterService.savePoster(poster);
falginfo="SUCCESS";
}


user= (User)request.getSession().getAttribute("user");
userid = (String)request.getSession().getAttribute("userid");

listP = posterService.getAllPosters();
return falginfo;
}

//编辑帖子
public String editposter(){

return SUCCESS;
}



//选择后查看具体的帖子
public String posterDetails(){

poster = posterService.findPosterById(postidinfo);//具体的帖子
//listContent = posterService.getAllContent();//得到所有的评论
listContent = posterService.getContentById(postidinfo);
return SUCCESS;
}


//添加评论
public String newcontent(){
user= (User)request.getSession().getAttribute("user");
userid = (String)request.getSession().getAttribute("userid");
content.setPosterid(Integer.valueOf(postidinfo));
content.setUserid(Integer.valueOf(userid));//当前用户id
content.setContenterid(Integer.valueOf(userid));//评论者的id
content.setContenttime(new Date());
posterService.saveContent(content);

poster = posterService.findPosterById(postidinfo);
//listContent = posterService.getAllContent();
listContent = posterService.getContentById(postidinfo);
return SUCCESS;
}

//添加replycontent
public String replycontent(){
//保存回复
posterService.saveReplay(content);


poster = posterService.findPosterById(postidinfo);
//listContent = posterService.getAllContent();
listContent = posterService.getContentById(postidinfo);


return SUCCESS;
}


//set get
public Poster getPoster() {
return poster;
}


public void setPoster(Poster poster) {
this.poster = poster;
}


public User getUser() {
return user;
}


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


public String getUserid() {
return userid;
}


public void setUserid(String userid) {
this.userid = userid;
}


public List<Poster> getListP() {
return listP;
}


public void setListP(List<Poster> listP) {
this.listP = listP;
}


public String getPostidinfo() {
return postidinfo;
}


public void setPostidinfo(String postidinfo) {
this.postidinfo = postidinfo;
}


public Contents getContent() {
return content;
}


public void setContent(Contents content) {
this.content = content;
}


public List<Contents> getListContent() {
return listContent;
}


public void setListContent(List<Contents> listContent) {
this.listContent = listContent;
}

}


 dao

PosterDao.java


package com.hikvision.poster.dao;


import java.util.List;


import com.hikvision.poster.model.Contents;
import com.hikvision.poster.model.Poster;


public interface PosterDao {


//添加 新帖
void savePoster(Poster poster);


List<Poster> getAllPoster();


Poster findPosterById(String postidinfo);


void editPoster(Poster poster);


void saveContent(Contents content);


List<Contents> getAllContent();


List<Contents> getContentById(String postidinfo);


void saveReplsy(Contents content);


}


PosterDaoImpl.java

package com.hikvision.poster.dao;


import java.util.Date;
import java.util.Iterator;
import java.util.List;


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


import com.hikvision.login.model.User;
import com.hikvision.poster.model.Contents;
import com.hikvision.poster.model.Poster;


public class PosterDaoImpl implements PosterDao {


//默认读取hibernate.cfg.xml文件  
    Configuration cfr = new Configuration().configure();  
    //SchemaExport export = new SchemaExport(cfr);  
    //export.create(true, true);  
    
    SessionFactory factory = cfr.buildSessionFactory();  
    Session session = null;  
    
    

    //保存新帖
public void savePoster(Poster poster) {
try{
      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  
            
          Poster poster1 = new Poster();  
          //String title = new String(poster.getPostertitle().getBytes("ISO-8859-1"),"UTF-8");
          //String test = new String(poster.getPostertext().getBytes("ISO-8859-1"),"UTF-8");
          
          poster1.setPostertitle(poster.getPostertitle());
          poster1.setPostertext(poster.getPostertext());
          poster1.setPostercreatetime(new Date());
          poster1.setSetvisiable("1");
          
          session.save(poster1);  
          //提交事务  
          session.getTransaction().commit();  
      
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }

}


//返回所有的帖子--并以发帖日期为倒序排列
public List<Poster> getAllPoster() {
List<Poster> userList = null;

try{

      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  
            
          Query query = session.createQuery("from Poster  ORDER BY postercreatetime DESC");
          userList = query.list();
            
          for(Iterator<Poster> it = userList.iterator();it.hasNext();){
          Poster poster = it.next();
          System.out.println(poster.getId()+":"+poster.getPostertitle()+":"+poster.getPostertitle());
          
          }
         
          
      
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }

return userList;
}


public Poster findPosterById(String postidinfo) {

List postList = null;
Poster poster = null;
try{
      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  
           
          Query query = session.createQuery(" from Poster t where t.id = ? ");
          query.setString(0, postidinfo);
           
          postList = query.list(); 
          if(postList!=null){
          poster = (Poster) postList.get(0);
          }
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }


return poster;
}


//编辑帖子
public void editPoster(Poster poster) {


try{
      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  
          
          session.saveOrUpdate(poster);
          System.out.println(poster.getPostertitle());
          System.out.println(poster.getPostertext());
          //提交事务  
          session.getTransaction().commit();  
      
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }

}


//////////////////////////////////////////////评论/////////////////////////////////////////////////////////
//添加评论
public void saveContent(Contents content) {

try{
      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  
            
          
          
          session.save(content);
          System.out.println(content.getContenttext()+content.getPosterid());
          
          //提交事务  
          session.getTransaction().commit();  
      
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }

}
//返回所有评论
public List<Contents> getAllContent() {
List<Contents> contentList = null;

try{

      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  //
            
          Query query = session.createQuery("from Contents  ORDER BY contenttime DESC");//from contents con,users u WHERE con.contenterid = u.id ORDER BY con.contenttime DESC
          contentList = query.list();
            
          for(Iterator<Contents> it = contentList.iterator();it.hasNext();){
          Contents content = it.next();
          System.out.println(content.getContenterid()+content.getContenttext());
          
          }
         
          
      
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }

return contentList;
}


//返回一个帖子下面的评论
public List<Contents> getContentById(String postidinfo) {


List<Contents> contentList = null;

try{

      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  //from Poster t where t.id = ?
            
          Query query = session.createQuery("from Contents    where posterid = ? ORDER BY contenttime DESC");//from contents con,users u WHERE con.contenterid = u.id ORDER BY con.contenttime DESC
          query.setInteger(0, Integer.valueOf(postidinfo));
          //.setString(0, postidinfo);
          contentList = query.list();
            
          for(Iterator<Contents> it = contentList.iterator();it.hasNext();){
          Contents content = it.next();
          System.out.println(content.getContenterid()+content.getContenttext());
          
          }
         
          
      
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }

return contentList;


}

//添加回复
public void saveReplsy(Contents content) {
try{
      session = factory.openSession();  
          //开启事务  
          session.beginTransaction();  
            
          
          
          session.save(content);
          System.out.println(content.getContenttext()+content.getPosterid());
          
          //提交事务  
          session.getTransaction().commit();  
      
      }catch(Exception e){
      e.printStackTrace();  
          //回滚事务  
          session.getTransaction().rollback();
      } finally{
      if(session != null){  
              if(session.isOpen()){  
                  //关闭session  
                  session.close();  
              }  
          }  
      }

}


}

model

Contents.java

package com.hikvision.poster.model;


import java.util.Date;


public class Contents implements java.io.Serializable{


private Integer id;
private String contenttext;
private Date contenttime;
private Integer contenterid;
private Integer posterid;
private Integer userid;
private Integer contentid;//评论的id
 
private static final long serialVersionUID = 1L;


public Integer getId() {
return id;
}


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


public String getContenttext() {
return contenttext;
}


public void setContenttext(String contenttext) {
this.contenttext = contenttext;
}


public Date getContenttime() {
return contenttime;
}


public void setContenttime(Date contenttime) {
this.contenttime = contenttime;
}


public Integer getContenterid() {
return contenterid;
}


public void setContenterid(Integer contenterid) {
this.contenterid = contenterid;
}


public Integer getPosterid() {
return posterid;
}


public void setPosterid(Integer posterid) {
this.posterid = posterid;
}


public Integer getUserid() {
return userid;
}


public void setUserid(Integer userid) {
this.userid = userid;
}


public Integer getContentid() {
return contentid;
}


public void setContentid(Integer contentid) {
this.contentid = contentid;
}


}

Contents.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2014-12-14 14:51:48 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="com.hikvision.poster.model.Contents" table="contents">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="increment" />
        </id>
        <property name="contenttext" type="java.lang.String">
            <column name="contenttext" />
        </property>
        <property name="contenttime" type="java.util.Date">
            <column name="contenttime" />
        </property>
      
      
        <property name="contenterid" type="java.lang.Integer">
            <column name="contenterid" />
        </property>
        
        
        <property name="posterid" type="java.lang.Integer">
            <column name="posterid" />
        </property>
        <property name="userid" type="java.lang.Integer">
            <column name="userid" />
        </property>
        
        <property name="contentid" type="java.lang.Integer">
            <column name="contentid" />
        </property>
        
        
        
    </class>
</hibernate-mapping>


Poster.java
package com.hikvision.poster.model;


import java.sql.Timestamp;
import java.util.Date;


public class Poster implements java.io.Serializable{


private Integer id;
private String postertitle;
private String postertext;
private Date postercreatetime;
private Timestamp posterupdatetime;
private String image;
private Integer userid;
private String setvisiable;

private static final long serialVersionUID = 1L;





public Integer getId() {
return id;
}


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


public String getPostertitle() {
return postertitle;
}


public void setPostertitle(String postertitle) {
this.postertitle = postertitle;
}


public String getPostertext() {
return postertext;
}


public void setPostertext(String postertext) {
this.postertext = postertext;
}


public Date getPostercreatetime() {
return postercreatetime;
}


public void setPostercreatetime(Date postercreatetime) {
this.postercreatetime = postercreatetime;
}


public Timestamp getPosterupdatetime() {
return posterupdatetime;
}


public void setPosterupdatetime(Timestamp posterupdatetime) {
this.posterupdatetime = posterupdatetime;
}


public String getImage() {
return image;
}


public void setImage(String image) {
this.image = image;
}


public Integer getUserid() {
return userid;
}


public void setUserid(Integer userid) {
this.userid = userid;
}


public String getSetvisiable() {
return setvisiable;
}


public void setSetvisiable(String setvisiable) {
this.setvisiable = setvisiable;
}

}

Poster.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2014-12-14 14:51:48 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="com.hikvision.poster.model.Poster" table="posters">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="increment" />
        </id>
        <property name="postertitle" type="java.lang.String">
            <column name="postertitle" />
        </property>
        <property name="postertext" type="java.lang.String">
            <column name="postertext" />
        </property>
        <property name="postercreatetime" type="java.util.Date">
            <column name="postercreatetime" />
        </property>
        <property name="posterupdatetime" type="java.sql.Timestamp">
            <column name="posterupdatetime" />
        </property>
        
        <property name="image" type="java.lang.String">
            <column name="image" />
        </property>
        <property name="userid" type="java.lang.Integer">
            <column name="userid" />
        </property>
        <property name="setvisiable" type="java.lang.String">
            <column name="setvisiable" />
        </property>
        
        
    </class>
</hibernate-mapping>

servicePosterService.javapackage com.hikvision.poster.service;


import java.util.List;


import com.hikvision.poster.model.Contents;
import com.hikvision.poster.model.Poster;


public interface PosterService {
//添加 帖子
void savePoster(Poster poster);


List<Poster> getAllPosters();


Poster findPosterById(String postidinfo);


void editPoster(Poster poster);


void saveContent(Contents content);


List<Contents> getAllContent();


List<Contents> getContentById(String postidinfo);


void saveReplay(Contents content);


}



PosterServiceImpl.java
package com.hikvision.poster.service;


import java.util.List;


import com.hikvision.poster.dao.PosterDao;
import com.hikvision.poster.dao.PosterDaoImpl;
import com.hikvision.poster.model.Contents;
import com.hikvision.poster.model.Poster;


public class PosterServiceImpl implements PosterService{


private PosterDao posterDao = new PosterDaoImpl();
private Poster poster;

//添加 新帖
public void savePoster(Poster poster) {

posterDao.savePoster(poster);
}


//获得所有的帖子
public List<Poster> getAllPosters() {


return posterDao.getAllPoster();
}

//根据id去查帖子
public Poster findPosterById(String postidinfo) {

return posterDao.findPosterById(postidinfo);
}

//编辑帖子
public void editPoster(Poster poster) {
// TODO Auto-generated method stub
posterDao.editPoster(poster);
}



//////////////////////////////////////////////////评论////////////////////////////////////////////////

//添加评论
public void saveContent(Contents content) {
// TODO Auto-generated method stub
posterDao.saveContent(content);

}

//返回所有评论
public List<Contents> getAllContent() {

return posterDao.getAllContent();
}

//返回一个帖子下面的评论
public List<Contents> getContentById(String postidinfo) {

return posterDao.getContentById(postidinfo);
}


//保存回复
public void saveReplay(Contents content) {
posterDao.saveReplsy(content);

}


//get set
public Poster getPoster() {
return poster;
}


public void setPoster(Poster poster) {
this.poster = poster;
}

}

hibernate配置文件hibernate.cfg.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
         <!--连接数据库的配置-->
        <property name="connection.username">root</property>
        <property name="connection.password">888</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql:///stu</property>
        
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hibernate.hbm2ddl.auto">update</property>
        <property name="connection.useUnicode">true</property>  
        <property name="connection.characterEncoding">utf8</property>
        <!--数据库映射Java用户-->
        <mapping resource="com/hikvision/login/model/User.hbm.xml" />
        <mapping resource="com/hikvision/poster/model/Poster.hbm.xml" />
        <mapping resource="com/hikvision/poster/model/Contents.hbm.xml" />
    </session-factory>
</hibernate-configuration>

log4j.properties 配置文件

log4j.rootCategory=debug, stdout , R
 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[QC] %p %d{yyyy-MM-dd HH:mm:ss} [%t] %C.%M(%L) | %m%n
 
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=D\:\\Tomcat 5.5\\logs\\qc.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
 
log4j.logger.com.neusoft=DEBUG
log4j.logger.com.opensymphony.oscache=ERROR
log4j.logger.net.sf.navigator=ERROR
log4j.logger.org.apache.commons=ERROR
log4j.logger.org.apache.struts=WARN
log4j.logger.org.displaytag=ERROR
log4j.logger.org.springframework=DEBUG
log4j.logger.com.ibatis.db=WARN
log4j.logger.org.apache.velocity=FATAL
 
log4j.logger.com.canoo.webtest=WARN
 
log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
log4j.logger.org.hibernate=DEBUG
log4j.logger.org.logicalcobwebs=WARN


struts配置文件

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


struts-login.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
  
<struts>
<package name="login" extends="struts-default">
<action name="hello" class="tutorial.HelloWorld">  
           <result>/WEB-INF/hi.jsp</result>  
        </action> 
        <action name="login" class="com.hikvision.login.action.LoginAction" method="login">   
           <result>/WEB-INF/login.jsp</result>  
        </action>
        
        <action name="logincheck" class="com.hikvision.login.action.LoginAction" method="logincheck">   
           <result>/WEB-INF/home.jsp</result>  
           <result name="error" type="redirectAction">
<param name="actionName">loginback</param>
<param name="code">${code}</param>
</result>
        </action>  
        <action name="loginback" class="com.hikvision.login.action.LoginAction" method="loginback">
<result name="success">/WEB-INF/login.jsp</result>
</action>
        
        <action name="testHibernate" class="com.hikvision.login.action.LoginAction" method="testHibernate">   
           <result>/WEB-INF/home.jsp</result>  
        </action>
        
        <!-- 跳转到adduser.jsp -->
        <action name="toHome" class="com.hikvision.login.action.LoginAction" method="toHome">   
           <result>/WEB-INF/adduser.jsp</result>  
        </action>
        
        <!-- 处理adduser.jsp的表单。 -->
        <action name="addUser" class="com.hikvision.login.action.LoginAction" method="addUser">   
           <result>/WEB-INF/home.jsp</result>  
        </action>
        
</package>
</struts>


struts-poster.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
  
<struts>
<package name="poster" extends="struts-default">
<!-- 跳转到新帖子页面 -->
        <action name="newposter" class="com.hikvision.poster.action.PosterAction" method="newposter">   
           <result>/WEB-INF/poster/newposter.jsp</result>  
        </action>
        
        <!-- 表单提交 -->
        <action name="addposter" class="com.hikvision.poster.action.PosterAction" method="addposter">   
           <result name="SUCCESS">/WEB-INF/home.jsp</result>
           <!--EDITINFO  --> 
           <result name="EDITINFO">/WEB-INF/poster/details.jsp</result> 
        </action>
        
        <!-- 查看帖子 -->
        <action name="posterDetails" class="com.hikvision.poster.action.PosterAction" method="posterDetails">   
           <result>/WEB-INF/poster/details.jsp</result>  
        </action>
        
        <!-- newcontent 添加评论 -->
        <action name="newcontent" class="com.hikvision.poster.action.PosterAction" method="newcontent">   
           <result>/WEB-INF/poster/details.jsp</result>  
        </action>
        
        <!-- 回复评论 -->
        <action name="replycontent" class="com.hikvision.poster.action.PosterAction" method="replycontent">   
           <result>/WEB-INF/poster/details.jsp</result>  
        </action>
</package>
</struts>

JSP页面

poster

details.jsp


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.hikvision.login.model.User"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  
<%@ taglib prefix="s" uri="/struts-tags" %>  


<% 
String userid = (String)request.getAttribute("userid");//登录用户的id
String hrefinfo = "/Struts2Demo/toHome?flaginfo=NOADMINedit&userid="+userid;


String postidinfo = request.getParameter("postidinfo");//帖子id
String hrefinfoedit="/Struts2Demo/poster/newposter?postidinfo="+postidinfo;



%>


  
<html>  
  <head>
  
  <script type="text/javascript">
  
  window.onload=function(){
document.getElementById("replaybutton").style.display="none";//回复框隐藏  --默认
document.getElementById("contentbutton").style.display="";//评论框显示--默认
document.getElementById("contentarea").focus();

getreplay();


}
  
  
function myfunction()
{
document.getElementById("replaybutton").style.display="";//回复框显示--点击后  
document.getElementById("replayarea").focus();
document.getElementById("contentbutton").style.display="none";//评论框隐藏--点击后
}

function getreplay(){
alert("hah 可以加载评论了。。。。。");


}
  </script>    
  <style>
 
  </style>
    <title>Home</title>      
  </head>  
    
  <body>  
  欢迎您:<a href="<%=hrefinfo %>" >${user.username }</a>   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="/Struts2Demo/xxx" >注销</a>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   <a href="/Struts2Demo/poster/newposter">发布新帖</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="/Struts2Demo/login/logincheck?user.username=${user.username }&user.userpassword=${user.userpassword } ">首页</a> 
  <br/><br/><br/>
  <label>主题:</label>  &nbsp;&nbsp;&nbsp;&nbsp; <a href="<%=hrefinfoedit %>">编辑</a>  <br/>
  <textarea rows="" cols="" disabled>${poster.postertitle }</textarea><br/><br/><br/>
  <label>内容:</label><br/>
  <textarea rows="" cols="" disabled>${poster.postertext }</textarea><br/><br/><br/><br/>
 
  <div><!-- 显示评论 -->
  <label>历史评论:</label><br/><br/>
  <s:iterator value="listContent" status="st">
            <tr>                
                   <td style="background-color:red"><s:property value="contenttext" /></td>
                   <td bgcolor="#00FF00"><s:property value="contenttime" /></td>
                   
                   <td bgcolor="#00FF00"><s:property value="contenttime" /></td>
                   
                   <td bgcolor="#00FF00" id="getreplay()"><s:property value="contenterid" /></td> <input type="button" onclick="myfunction()" value="回复">
                    
  <br/>
                </tr> 
</s:iterator>
 
 
  </div>
 
  <br>
  <div id="replaybutton"><!-- 回复评论 -->
  <label>回复:</label>
<form action="/Struts2Demo/poster/replycontent" method="post">
<input name="content.contentid" type="hidden" value="${content.id }"> <!-- 评论的id -->
<input name="postidinfo" type="hidden"  value="<%=postidinfo %>"/><!-- 帖子id -->
<textarea rows="4" cols="100" name="content.contenttext" id="replayarea"></textarea>
<br/><input type="submit" value="回复"/>
</form> 
 
  </div>
 
 
 
  <br/><br/><br/><br/><br/><br/>
 
  <div id="contentbutton"> <!-- 评论 -->
  <label>评论:</label>
<form action="/Struts2Demo/poster/newcontent" method="post">
<input name="postidinfo" type="hidden"  value="<%=postidinfo %>"/><!-- 帖子id -->
<textarea rows="4" cols="100" name="content.contenttext" id="contentarea"></textarea>
<br/><input type="submit" value="评论"/>
</form> 
</div>
  </body>  
</html>  


newposter.jsp


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  
<%@ taglib prefix="s" uri="/struts-tags" %>  
<%! Random rnd = new Random(); %>
<% int n = rnd.nextInt(200);pageContext.setAttribute("n",n); %>


  
<html>  
  <head>
  <style type="text/css">
  body{text-align:center;}




</style>      
    <title>BBS</title>      
  </head>  
    
  <body>
 
  <div class="div1"> 
 
<form action="/Struts2Demo/poster/addposter" method="post">
<input type="hidden" name="poster.id" value="<s:property value="poster.id"/>">
<input type="hidden" name="postidinfo" value="<s:property value="postidinfo"/>">
文章标题:<br/>
<input name="poster.postertitle" type="text" value="<s:property value="poster.postertitle"/>"/><br/><br>
文章内容:<br/>
<textarea rows="3" cols="8" name="poster.postertext"><s:property value="poster.postertext"/></textarea><br><br><br>
<input type="submit" value="发表"/>
</form>
</div> 
  </body>  
</html>  


adduser.jsp


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.hikvision.login.model.User"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  
<%@ taglib prefix="s" uri="/struts-tags" %>  
<% 


String flaginfo = "NOADMINadd";
    String userid = null;
    String buttonname="添加";
    User user = (User)request.getAttribute("user");
    
String flaginfos = request.getParameter("flaginfo");
if(flaginfo!=null){
flaginfo = flaginfos;
userid = request.getParameter("userid");
buttonname="修改";
}

 


%>


  
<html>  
  <head>
  <style type="text/css">
  body{text-align:center;}

.div1{text-align:center;width:100%; margin-top:300px;}


</style>           
    <title>注册用户</title>      
  </head>  
    
  <body>  
  <div class="div1">
  <form action="/Struts2Demo/addUser" method="post">
  <input type="hidden" name="flaginfo" value="<%=flaginfo %>" />
  <input type="hidden"  name="user.id" value="<%=user.getId() %>"/>
name:<input name="user.username" type="text" value="<%=user.getUsername() %>" /><br/><br>
password:<input name="user.userpassword" type="text" value="<%=user.getUserpassword() %>" /><br><br><br>
<input type="submit" value="<%=buttonname %>" />
</form>  
  </div>
  </body>  
</html>  

home.jsp


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.hikvision.login.model.User"%>
<%@page import="com.hikvision.poster.model.Poster"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  
<%@ taglib prefix="s" uri="/struts-tags" %>  


<% 
String userid = (String)request.getAttribute("userid");//登录用户的id
String hrefinfo = "/Struts2Demo/toHome?flaginfo=NOADMINedit&userid="+userid;

//Poster p = (Poster)request.getAttribute("p");
//String posterinfo = "/Struts2Demo/poster/posterDetails?postid="+"";

%>


  
<html>  
  <head>      
    <title>Home</title>      
  </head>  
    
  <body>  
  欢迎您:<a href="<%=hrefinfo %>" >${user.username }</a>   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="/Struts2Demo/xxx" >注销</a>
  <br/><br/><br/>
 
 
  <a href="/Struts2Demo/poster/newposter">发布新帖</a>
 
 
  <br/><br/><br/>
  <div><!-- 显示所有的帖子-->
  <s:iterator value="listP" status="st">
            <tr>                
                   <td><a href="/Struts2Demo/poster/posterDetails?postidinfo=<s:property value="id"/>  " > <s:property value="postertitle" /></a></td>
                   <td><s:property value="postercreatetime" /></td>
                   <td><s:property value="id" /></td>
                   <br/>
                </tr> 
</s:iterator>
  </div>
 
 
  <div>
 
 
  </div>
 
 
 
 
 
 
  <s:if test="username='admin'" ><!-- 只有管理员才能查看所有的用户和添加用户 -->
  <h4><a href="/Struts2Demo/testHibernate">所有用户</a></h4>
  <h4><a href="/Struts2Demo/toHome">添加用户</a></h4>
  </s:if>
 
  <h2><!-- 这个没有什么用了 是用来显示所有的用户的 -->
  <s:iterator value="list" status="st">
            <tr>                
                   <td><s:property value="username" /></td>
                    <td><s:property value="userpassword" /></td><br/>
                </tr> 
</s:iterator>
  </h2>
 
  </body>  
</html>  


login.jsp


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  
<%@ taglib prefix="s" uri="/struts-tags" %>  
<%! Random rnd = new Random(); %>
<% int n = rnd.nextInt(200);pageContext.setAttribute("n",n); %>


  
<html>  
  <head>
  <style type="text/css">
  body{text-align:center;}

.div1{text-align:center;width:100%; margin-top:300px;}


</style>      
    <title>登录BBS</title>      
  </head>  
    
  <body>
 
  <div class="div1"> 
  <h5 style="color:red">${("1001" eq code) ? "登录名或密码错误":"" }</h5>
<form action="/Struts2Demo/logincheck" method="post">
name:<input name="user.username" type="text" value="tom" /><br/><br>
password:<input name="user.userpassword" type="text" value="123456" /><br><br><br>
<input type="submit" value="登录" />&nbsp;&nbsp;<a href="/Struts2Demo/toHome"><input type="button" value="注册"/></a><br/>

</form>
</div> 
  </body>  
</html>  


web.xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <!-- Struts2 中过滤器配置 -->
  
  <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>  
</web-app>


数据库





 数据库只有3个 表,分别是users,posters,contents

users--用户表

posters--帖子表,所有的帖子都放在这个里面

contents--评论表(但对评论的回复也放在这个表中,查的时间只要关联查出来就行,但我觉得这个设计有问题,不过有没有好的方案,所以有点纠结,你自己看下。。或者重新设计个表。。。。)





新建数据库和表


新建数据库

安装mysql后新建一个数据库 stu,格式如下:



新建完数据库后就可以在库中新建表了,具体执行下面的语句。(语句中包含一些测试数据,你可以进去看到效果)

users


/*
Navicat MySQL Data Transfer


Source Server         : 练习
Source Server Version : 50622
Source Host           : localhost:3306
Source Database       : stu


Target Server Type    : MYSQL
Target Server Version : 50622
File Encoding         : 65001


Date: 2016-01-19 15:43:54
*/


SET FOREIGN_KEY_CHECKS=0;


-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '用户名',
  `userpassword` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '用户密码',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;


-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES ('4', 'tom', '123456');
INSERT INTO `users` VALUES ('9', 'admin', 'admin12345+');
INSERT INTO `users` VALUES ('10', null, null);
INSERT INTO `users` VALUES ('11', null, null);
INSERT INTO `users` VALUES ('12', null, null);


contents


/*
Navicat MySQL Data Transfer


Source Server         : 练习
Source Server Version : 50622
Source Host           : localhost:3306
Source Database       : stu


Target Server Type    : MYSQL
Target Server Version : 50622
File Encoding         : 65001


Date: 2016-01-19 15:40:14
*/


SET FOREIGN_KEY_CHECKS=0;


-- ----------------------------
-- Table structure for contents
-- ----------------------------
DROP TABLE IF EXISTS `contents`;
CREATE TABLE `contents` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `contenttext` varchar(4000) COLLATE utf8_bin DEFAULT NULL COMMENT '评论内容',
  `contenttime` datetime DEFAULT NULL COMMENT '评论时间',
  `contenterid` int(11) DEFAULT NULL COMMENT '评论者的id',
  `posterid` int(11) DEFAULT NULL COMMENT '帖子id',
  `userid` int(11) DEFAULT NULL COMMENT '发帖人的id',
  `contentid` int(11) DEFAULT NULL COMMENT '评论的id 这个主要用于和回复关联',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;


-- ----------------------------
-- Records of contents
-- ----------------------------
INSERT INTO `contents` VALUES ('1', 'hahah', '2016-01-18 16:14:41', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('2', 'hahah', '2016-01-18 16:16:10', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('3', 'hahah', '2016-01-18 16:18:22', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('4', 'hahah', '2016-01-18 16:18:55', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('5', 'dfdfsd ', '2016-01-18 16:32:37', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('6', '在评论一次\r\n', '2016-01-18 16:32:48', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('7', '在评论一次\r\n', '2016-01-18 16:35:15', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('8', '在评论一次\r\n', '2016-01-18 16:36:13', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('9', '在评论一次\r\n', '2016-01-18 16:37:32', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('10', 'ddddd', '2016-01-18 16:59:43', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('11', 'ddddd', '2016-01-18 17:04:50', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('12', 'ddddd', '2016-01-18 17:06:21', '4', '10', '4', null);
INSERT INTO `contents` VALUES ('13', 'kkkk', '2016-01-18 19:40:22', '4', '11', '4', null);
INSERT INTO `contents` VALUES ('14', 'kkkk', '2016-01-18 19:41:29', '4', '11', '4', null);
INSERT INTO `contents` VALUES ('15', 'fff', '2016-01-18 19:41:38', '4', '11', '4', null);
INSERT INTO `contents` VALUES ('16', 'hahah', '2016-01-18 19:53:18', '4', '11', '4', null);
INSERT INTO `contents` VALUES ('17', 'gggg', '2016-01-18 19:58:24', '4', '11', '4', null);
INSERT INTO `contents` VALUES ('18', 'gggg', '2016-01-18 20:06:25', '4', '11', '4', null);
INSERT INTO `contents` VALUES ('19', 'gggg', '2016-01-18 20:08:12', '4', '11', '4', null);
INSERT INTO `contents` VALUES ('20', 'gggg', '2016-01-18 20:08:18', '4', '11', '4', null);
INSERT INTO `contents` VALUES ('21', 'gggg', '2016-01-18 20:08:45', '4', '11', '4', null);
INSERT INTO `contents` VALUES ('22', 'aaa', '2016-01-18 20:10:32', '4', '12', '4', null);



posters


/*
Navicat MySQL Data Transfer


Source Server         : 练习
Source Server Version : 50622
Source Host           : localhost:3306
Source Database       : stu


Target Server Type    : MYSQL
Target Server Version : 50622
File Encoding         : 65001


Date: 2016-01-19 15:43:47
*/


SET FOREIGN_KEY_CHECKS=0;


-- ----------------------------
-- Table structure for posters
-- ----------------------------
DROP TABLE IF EXISTS `posters`;
CREATE TABLE `posters` (
  `id` int(11) NOT NULL,
  `postertitle` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '帖子标题',
  `postertext` varchar(4000) COLLATE utf8_bin NOT NULL COMMENT '帖子内容',
  `postercreatetime` datetime DEFAULT NULL COMMENT '发帖时间',
  `posterupdatetime` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  `image` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '上传图片',
  `userid` int(11) DEFAULT NULL COMMENT '发帖人的id',
  `setvisiable` varchar(1) COLLATE utf8_bin NOT NULL COMMENT '帖子是否显示',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;


-- ----------------------------
-- Records of posters
-- ----------------------------
INSERT INTO `posters` VALUES ('1', 'testccc', 'testsssscc', '2016-01-14 15:11:33', null, null, null, '1');
INSERT INTO `posters` VALUES ('2', 'rr', 'rr', '2016-01-14 16:33:49', null, null, null, '1');
INSERT INTO `posters` VALUES ('3', 'oo', 'oo', '2016-01-14 16:46:17', null, null, null, '1');
INSERT INTO `posters` VALUES ('5', '8', '8', '2016-01-14 16:56:12', null, null, null, '1');
INSERT INTO `posters` VALUES ('6', '1', '1', '2016-01-14 17:00:23', null, null, null, '1');
INSERT INTO `posters` VALUES ('7', '2', '2', '2016-01-14 17:00:37', null, null, null, '1');
INSERT INTO `posters` VALUES ('8', '2', '2', '2016-01-14 17:00:42', null, null, null, '1');
INSERT INTO `posters` VALUES ('9', '各个kk', '各个kk', '2016-01-18 15:16:07', null, null, null, '1');
INSERT INTO `posters` VALUES ('10', '再测试一遍 改变cc', '啦啦啦cc', '2016-01-18 15:17:07', null, null, null, '1');
INSERT INTO `posters` VALUES ('11', '这个可以用吗', '得到', '2016-01-18 17:08:55', null, null, null, '1');
INSERT INTO `posters` VALUES ('12', 'aa', 'aa', '2016-01-18 20:10:27', null, null, null, '1');


关于jar包

 由于不能上传jar包,所有你自己下载,主要是hibernate和struts的包,log4j等的包,如果运行不起来会有 提示错去,如果是关于jar包的,下载后导入就像了























0 0
原创粉丝点击