软件工程毕设 基于java web的固定资产管理系统【源码 + 论文】

提示:项目获取方式,在文章末尾哦


前言

今天学长向大家分享一个 java web设计项目:

基于java web的固定资产管理系统

项目获取:
https://gitee.com/sinonfin/L-javaWebSha

一、项目设计

1. 模块设计

在这里插入图片描述
本系统主要分为四大模块:

资产管理模块:

根据不同资产的唯一编号对资产进行购入、销毁、修改属性和多种组合条件的查询操作等,里面包括相应的逻辑验证及提示。对资产维护的增加维修设备、删除已经维修好的信息、查询操作;支持对固定资产库存报表的多种格式打印。

用户管理模块:

可直接添加员工成为用户并为其分配不同的权限,管理员权限是本系统最大的权限,可以对所有的设备和人员进行维护、查询等操作。操作员不拥有分配权限的功能,可以完成除了此模块之外的所有功能,如:首先,可对资产进行录入、所有资产不同方式的查询、销毁某些设备、修改设备属性信息及对设备进行借出归还状态的跟踪和更改,及时更新设备的所处状态和库存设备的全部信息等。其次可对员工进行的增加、删除、修改信息和查询等相应的维护,可以将库存设备信息根据不同需求打印出来。

员工管理:

支持对学校的教工信息的维护,包括新增员工、删除员工、修改员工所处状态和对员工进行明细查询等。

系统管理:

修改登陆用户的登录密码及安全退出系统,保证系统的正常运行。

2. 实现效果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
功能太多,学长这里就不一 一展示了

二、部分源码

源码非常多,文章篇幅有限,这里就不放上来了,仅展示小部分关键代码,有需要的同学到文章末尾链接获取源码

部分代码示例:

StrutsAction的实现类是这个登陆页的核心内容,就来看看它是怎么实现的吧,如下所示:
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");		
	}
}
StrutsAction实现类的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;
	}
}

项目源码

项目获取:
https://gitee.com/sinonfin/L-javaWebSha

猜你喜欢

转载自blog.csdn.net/mojikopi/article/details/131865125
今日推荐