赞
踩
提示:项目获取方式,在文章末尾哦
今天学长向大家分享一个 java web设计项目:
基于java web的固定资产管理系统
项目获取:
https://gitee.com/sinonfin/L-javaWebSha
本系统主要分为四大模块:
资产管理模块:
根据不同资产的唯一编号对资产进行购入、销毁、修改属性和多种组合条件的查询操作等,里面包括相应的逻辑验证及提示。对资产维护的增加维修设备、删除已经维修好的信息、查询操作;支持对固定资产库存报表的多种格式打印。
用户管理模块:
可直接添加员工成为用户并为其分配不同的权限,管理员权限是本系统最大的权限,可以对所有的设备和人员进行维护、查询等操作。操作员不拥有分配权限的功能,可以完成除了此模块之外的所有功能,如:首先,可对资产进行录入、所有资产不同方式的查询、销毁某些设备、修改设备属性信息及对设备进行借出归还状态的跟踪和更改,及时更新设备的所处状态和库存设备的全部信息等。其次可对员工进行的增加、删除、修改信息和查询等相应的维护,可以将库存设备信息根据不同需求打印出来。
员工管理:
支持对学校的教工信息的维护,包括新增员工、删除员工、修改员工所处状态和对员工进行明细查询等。
系统管理:
修改登陆用户的登录密码及安全退出系统,保证系统的正常运行。
功能太多,学长这里就不一 一展示了
源码非常多,文章篇幅有限,这里就不放上来了,仅展示小部分关键代码,有需要的同学到文章末尾链接获取源码
部分代码示例:
Struts的Action的实现类是这个登陆页的核心内容,就来看看它是怎么实现的吧,如下所示: import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.jdy.gdzc.web.struts.form.LoginForm; public class LoginAction extends BaseAction { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String err = ""; HttpSession session=(HttpSession)request.getSession();//获得图片上的验证码 String randCode = (String) session.getAttribute("code"); LoginForm lf=(LoginForm)form; String username=lf.getUsername(); String password=lf.getPassword(); if (lf.getCheckcode().equals(randCode)) { if (assetManagerImpl.login(username, password)) { // 把登录成功的用户名,放在cookie中 Cookie c = new Cookie("username",username); c.setMaxAge(60 * 60 * 24); response.addCookie(c); // 登录成功,跳到显示所有课程的页面 String competence=userManaManagerImpl.competence(username); session.setAttribute("username", username); session.setAttribute("competence", competence); return mapping.findForward("success"); } else { err = "用户名或密码错误!"; } } else { err = "验证码错误!"; } request.setAttribute("gdzc.login.error", err); return mapping.findForward("fail"); } } Struts的Action实现类的execute()方法是最先被执行的,这个方法本身也没有具体的事务,而是根据action的参数不同执行相应的方法。在登陆页里面可以找到有一个“action=login” 的字样,它的目的就是在这里做逻辑判断。当action=login时进入Action中执行execute()方法。execute()方法从LoginForm中得到用户提交的数据,然后在调用控制层中的login()方法,并将从LoginForm中得到的username, password做为参数传给控制层,调用后会返回一个boolean型的值。控制层再继续调用DAO层,DAO层得到从上层传进来的username, password并进行处理,调用后会返回一个boolean型的值并传给上层。如果为真则将username用户名放到session范围中,并返回“mapping.findForward("success")”,进入系统主页;否则返回“mapping.findForward("fail")”,将错误信息存到request范围中,跳到登陆界面并提示登陆错误信息:用户名或者密码错误、验证码错误。需要用户重新正确输入才能完成登录。接下来看一下DAO层是如何实现登陆: import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import com.jdy.gdzc.dao.IUserDAO; public class UserDAOImpl implements IUserDAO { private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } protected Session getSession() { return sessionFactory.getCurrentSession(); } public boolean login(String userName, String password) { boolean flag = false; Session session = this.getSession(); String hql = "select pwd from UserInfo where userName=:userName"; try { Query query = session.createQuery(hql); query.setString("userName", userName); String pwd = (String) query.setMaxResults(1).uniqueResult(); if (password.equals(pwd)) { flag = true; } } catch (Exception e) { e.printStackTrace(); } return flag; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。