ssh期末课设(实验室设备管理系统)

本系统采用ssh(Struts、Spring和Hibernate)框架开发,使用idea制作

目录

本系统采用ssh(Struts、Spring和Hibernate)框架开发,使用idea制作

后端目录

 一个数据表对应相应的model,dao,action

model层处理java类对象属性与数据库的对应

dao层处理对象与数据库的交互

action层处理前端与后端之间的逻辑交互,前端触发事件则运行action层的方法

 struts.xml用来写action事件以及事件触发效果

 jdbc.properties为数据库连接信息

hibernate.properties为hibernate配置信息

applicationContext.xml为spring配置信息

前端实现

登录

 注册

管理员

用户管理 

 实验室设备管理

 申请审批

 修改密码

 普通用户

设备预定

 预定申请

 修改密码


数据库采用mysql8.0.25版本

struts2采用2.5.10版本

spring采用4.3.8版本

hibernate采用4.2.4版本

服务器采用tomcat9.0.30版本

本系统涵盖了登录,注册等基本功能

且区分管理员与普通用户

管理员包括用户管理,设备管理,修改密码等功能

普通用户包括设备预定,查看预定申请,修改密码等功能

后端目录

 一个数据表对应相应的model,dao,action

model层处理java类对象属性与数据库的对应

@Entity
@Table(name = "tadmin")
public class Tadmin {
	protected static final long serialVersionUID = -1L;

	public Tadmin() {
	}

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "ID")
	private Integer id;
	/**
	 * 用户名
	 */
	@Column(name = "UNAME")
	private String uname;
	/**
	 * 密码
	 */
	@Column(name = "UPWD")
	private String upwd;
	/**
	 * 姓名
	 */
	@Column(name = "NAME")
	private String name;
	/**
	 * 联系电话
	 */
	@Column(name = "TEL")
	private String tel;

	public Integer getId() {
		return this.id;
	}

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

	public String getUname() {
		return this.uname;
	}

	public void setUname(String uname) {
		this.uname = uname;
	}

	public String getUpwd() {
		return this.upwd;
	}

	public void setUpwd(String upwd) {
		this.upwd = upwd;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getTel() {
		return this.tel;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}
}

dao层处理对象与数据库的交互

/**
	 * 保存数据到数据库
	 * 
	 * @param tadmin
	 */
	public void save(Tadmin tadmin) {
		getHibernateTemplate().save(tadmin);
	}

	/**
	 * 更新数据到数据库
	 * 
	 * @param tadmin
	 */
	public void update(Tadmin tadmin) {
		getHibernateTemplate().update(tadmin);
	}

	/**
	 * 删除数据
	 * 
	 * @param tadmin
	 */
	public void delete(Tadmin tadmin) {
		getHibernateTemplate().delete(tadmin);
	}

	/**
	 * 根据ID查询数据
	 * 
	 * @param id
	 * @return
	 */
	public Tadmin findById(Integer id) {
		return getHibernateTemplate().get(Tadmin.class, id);
	}

action层处理前端与后端之间的逻辑交互,前端触发事件则运行action层的方法

public String login() {
		HttpServletRequest request = ServletActionContext.getRequest();
		flag = "false";
		String uname = request.getParameter("uname");
		String upwd = request.getParameter("upwd");
		Tadmin tadmin = new Tadmin();
		tadmin.setUname(uname);
		tadmin.setUpwd(upwd);
		List<Tadmin> tadminList = tadminDAO.findAll(tadmin);
		if (tadminList != null && tadminList.size() > 0) {
			Tadmin admin = tadminList.get(0);
			request.getSession().setAttribute("cuser", admin);
			flag = "true";
		}
		return "flag";
	}

	public String loginout() {
		HttpServletRequest request = ServletActionContext.getRequest();
		request.getSession().setAttribute("cuser", null);
		request.getSession().setAttribute("utype", null);
		request.getSession().invalidate();
		return "login";
	}

	public String register()
	{
		Tadmin tadmin = new Tadmin();
		tadmin.setUname(uname);
		tadmin.setUpwd(upwd);
		tadmin.setName(name);
		tadmin.setTel(tel);
		// 保存到数据库
		tadminDAO.save(tadmin);
		return "login";
	}

本系统有三个数据表,分别为

equipment存储了设备的信息

scheduled存储了预定申请的信息

 

tadmin存储了账号的信息

 

 struts.xml用来写action事件以及事件触发效果

<action name="tadmin_*" class="com.action.TadminAction"
			method="{1}">
			<result name="list">/admin/tadmin/tadmin_list.jsp</result>
			<result name="toAdd">/admin/tadmin/tadmin_add.jsp</result>
			<result name="toUpdate">/admin/tadmin/tadmin_update.jsp</result>
			<result name="toView">/admin/tadmin/tadmin_view.jsp</result>
			<result name="login">/admin/login.jsp</result>
			<result name="toupwd">/admin/tadmin/tadmin_upwd.jsp</result>
			<result name="success" type="redirectAction">tadmin_list</result>
			<result name="exist" type="json">
				<param name="root">exist</param>
			</result>
			<result name="flag" type="json">
				<param name="root">flag</param>
			</result>
		</action>

 jdbc.properties为数据库连接信息

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456

hibernate.properties为hibernate配置信息

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.show_sql=true

applicationContext.xml为spring配置信息

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
    http://www.springframework.org/schema/aop   
    http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
    http://www.springframework.org/schema/context  
    http://www.springframework.org/schema/context/spring-context-3.1.xsd  
    http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"
	default-autowire="byName">

	<context:annotation-config />
	<!-- spring 扫描路径,注意当前工程只需要扫描dao和service,srpingmvc或者struts2注解才有变化 -->
	<context:component-scan
		base-package="com.dao" />

	<bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>classpath*:jdbc.properties</value>
				<value>classpath*:hibernate.properties</value>
			</list>
		</property>
	</bean>

	<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="${jdbc.driverClass}">
		</property>
		<property name="url" value="${jdbc.url}"></property>
		<property name="username" value="${jdbc.username}"></property>
		<property name="password" value="${jdbc.password}"></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
				<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
			</props>
		</property>
		<property name="packagesToScan">
			<list>
				<value>com.model</value>
			</list>
		</property>
	</bean>



	<!-- 配置Hibernate事务管理器 -->
	<bean id="transactionManager"
		class="org.springframework.orm.hibernate4.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>

	<!-- 配置事务异常封装 -->
	<bean id="persistenceExceptionTranslationPostProcessor"
		class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />

	<!-- 声明式容器事务管理 ,transaction-manager指定事务管理器为transactionManager -->
	<tx:advice id="txAdvice"
		transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="save*" propagation="REQUIRED" />
			<tx:method name="del*" propagation="REQUIRED" />
			<tx:method name="update*" propagation="REQUIRED" />
			<tx:method name="*" read-only="true" />
		</tx:attributes>
	</tx:advice>

	<aop:config expose-proxy="true">
		<!-- 只对业务逻辑层实施事务 -->
		<aop:pointcut id="txPointcut"
			expression="execution(* com.dao..*.*(..))" />
		<!-- Advisor定义,切入点和通知分别为txPointcut、txAdvice -->
		<aop:advisor pointcut-ref="txPointcut"
			advice-ref="txAdvice" />

	</aop:config>

</beans>

前端实现

登录

 注册

管理员

用户管理 

 修改

 实验室设备管理

 设备查询(可模糊查询与多条件查询共同使用)

设备详情(可查看设备预定使用情况) 

 申请审批

 修改密码

 普通用户

设备预定

 预定

 预定申请

 取消预定

 修改密码

 界面与管理员类似

源代码可前往此处下载https://download.csdn.net/download/m0_62670368/88004784

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

winlife_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值