功能介绍
系统完成的主要功能有:用户设置功能、发布信息功能、信息管理功能、搜索信息功能,留言功能,及系统管理功能,具体业务功能包括如下:
用户注册:学生可利用自已学号进行注册,注册实现实名制。
用户登录:只有登录用户才能进行信息发布,管理员登录后可以进行系统管理。
发布信息:普通用户和管理员登录后都可以发布信息。
修改信息:普通用户可以修改自己发布的信息,管理员可以修改所有信息。
删除信息:普通用户可以删除自己发布的信息,管理员可以删除所有信息。
浏览信息:游客、普通用户和管理员可以浏览所有发布的信息。
搜索信息:游客、普通用户和管理员可以用关键字搜索所有发布的信息,普通用户可以搜索自己发布的所有信息。
发表留言:普通用户和管理员登录后都可以对发布信息进行留言。
查看留言:游客、普通用户和管理员都可以查看发布信息的留言。
删除留言:管理员可以删除留言。
添加二手指南:管理员可以添加二手指南。
查看二手指南:游客、普通用户和管理员都可以查看二手指南。
修改二手指南:管理员可以修改二手指南。
删除二手指南:管理员可以删除二手指南。
部分功能模块代码
/* */ package cn.lee.market.struts.action;
/* */
/* */ import cn.lee.market.dao.CommentDAO;
/* */ import cn.lee.market.dao.MessageDAO;
/* */ import cn.lee.market.model.Comment;
/* */ import cn.lee.market.model.Message;
/* */ import cn.lee.market.model.User;
/* */ import java.util.Date;
/* */ import javax.servlet.http.HttpServletRequest;
/* */ import javax.servlet.http.HttpServletResponse;
/* */ import javax.servlet.http.HttpSession;
/* */ import org.apache.struts.action.Action;
/* */ import org.apache.struts.action.ActionForm;
/* */ import org.apache.struts.action.ActionForward;
/* */ import org.apache.struts.action.ActionMapping;
/* */
/* */ public class AddCommentAction extends Action
/* */ {
/* */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
/* */ throws Exception
/* */ {
/* 27 */ String content = request.getParameter("content");
/* 28 */ String messageid = request.getParameter("messageid");
/* 29 */ CommentDAO cDao = new CommentDAO();
/* 30 */ MessageDAO mDao = new MessageDAO();
/* 31 */ Message message = mDao.findById(messageid);
/* 32 */ Comment comment = new Comment();
/* 33 */ comment.setTMessage(message);
/* 34 */ comment.setContent(content);
/* 35 */ comment.setCreate_time(new Date());
/* 36 */ User user = (User)request.getSession().getAttribute("user");
/* 37 */ comment.setTUser(user);
/* 38 */ cDao.save(comment);
/* */
/* 41 */ request.setAttribute("messageid", messageid);
/* 42 */ return mapping.findForward("messageDetail");
/* */ }
/* */ }
package cn.lee.market.dao;
import cn.lee.market.model.Area;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Criteria;
import org.hibernate.LockMode;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.criterion.Example;
public class AreaDAO extends BaseHibernateDAO
{
private static final Log log = LogFactory.getLog(AreaDAO.class);
public static final String AREA_NAME = "area_name";
public static final String AREA_DESC = "area_desc";
public void save(Area transientInstance)
{
log.debug("saving Area instance");
try {
getSession().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
public void delete(Area persistentInstance) {
log.debug("deleting Area instance");
try {
getSession().delete(persistentInstance);
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}
public Area findById(String id) {
log.debug("getting Area instance with id: " + id);
try {
return (Area)getSession()
.get(Area.class, id);
}
catch (RuntimeException re) {
log.error("get failed", re);
throw re;
}
}
public List findByExample(Area instance)
{
log.debug("finding Area instance by example");
try {
List results = getSession()
.createCriteria(Area.class)
.add(Example.create(instance))
.list();
log.debug("find by example successful, result size: " + results.size());
return results;
} catch (RuntimeException re) {
log.error("find by example failed", re);
throw re;
}
}
public List findByProperty(String propertyName, Object value) {
log.debug("finding Area instance with property: " + propertyName +
", value: " + value);
try {
String queryString = "from Area as model where model." +
propertyName + "= ?";
Query queryObject = getSession().createQuery(queryString);
queryObject.setParameter(0, value);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
}
public List findByArea_name(Object area_name) {
return findByProperty("area_name", area_name);
}
public List findByArea_desc(Object area_desc) {
return findByProperty("area_desc", area_desc);
}
public Area merge(Area detachedInstance) {
log.debug("merging Area instance");
try {
Area result = (Area)getSession()
.merge(detachedInstance);
log.debug("merge successful");
return result;
} catch (RuntimeException re) {
log.error("merge failed", re);
throw re;
}
}
public void attachDirty(Area instance) {
log.debug("attaching dirty Area instance");
try {
getSession().saveOrUpdate(instance);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}
public void attachClean(Area instance) {
log.debug("attaching clean Area instance");
try {
getSession().lock(instance, LockMode.NONE);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}
public List findAllArea() {
log.debug("finding All Area");
try {
String queryString = "from Area";
Query queryObject = getSession().createQuery(queryString);
return queryObject.list();
} catch (RuntimeException re) {
log.error("find All Area failed", re);
throw re;
}
}
}
论文目录