JAVAEE用户管理系统

JAVAEE用户管理系统

一、 实验目的
1.要求学生基本掌握Struts框架的使用方法,能够应用框架来设计出Web应用程序。
2.要求学生能够基本掌Struts标签的使用,使用应用这些标签来控制页面的显示内容和显示格式。
3.能够简单集成Struts、Hibernate、Spring,使用这三个框架来完成一个简单的在线学习系统的开发。
二、 设备与环境

硬件:多媒体计算机
软件:Windows系列操作系统(含IIS5.0以上版本)、.java运行环境及编译环境、Struts2、Spring、Hibernate、Eclipse、MySQL等。

三、实验内容及要求
1.实验要求
1、完成一个简单在线学习系统,实现学生(教师)登录、学生选课、学习时长的记录、课程信息的录入查询修改、教师评分等功能
2、系统的功能模块设计。要求画出功能模块框图。
3、数据库的设计,要求数据库结构设计合理。
4、应用到的关键技术的详细说明。可附相关的关键程序代码。
5、系统页面设计要求清晰、实用、美观。
2.实验内容
2.1系统背景介绍
用户信息管理系统,主要应用于各个大型系统的子系统。方便的插入、查询、编辑、删除用户信息。有着直观,便利的特点
2.2 需求分析
系统要实现的主要功能有:

  1. 添加用户信息
  2. 根据用户名查找用户
  3. 查询所有用户
  4. 修改用户信息
  5. 删除某个用户
    2.3 数据库实现
    数据库是数据管理的重要技术,是计算机科学的重要分支。由于数据库具有数据结构化,最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上。本系统采用My SQL Server 5.7 来作为数据库。
    2.3.1 数据库连接方式
    本实验是通过用Hibernate来连接My SQL。Hibernate能够访问多种关系数据库,如SQL Server、Oracle和Access等。在访问这些数据库时,只需要在Hibernate的配置文件中指定正确的连接属性值。连接时,hibernate 自动配置,配置文件如下:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/newsdb?useUnicode=true&amp;characterEncoding=UTF-8" />
		<property name="username" value="root" />
		<property name="password" value="123456" />
	</bean>

	<!-- 配置sessionFactory ,数据库配置在hibernate.cfg.xml中-->
    <!--LocalSessionFactoryBean 加载bean方式 <mapping resource="com/model/User.hbm.xml"/>
        AnnotationSessionFactoryBean 加载bean方式 <mapping class="com.model.User"/> ,它主要功能是取消了hbm.xml文件
     -->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<!-- 配置实体描述文件 -->
		<property name="mappingResources">
			<list>
				<value>com/model/User.hbm.xml</value>
			</list>
		</property>

数据库地址:mysql://localhost:3306/newsdb
登录名:root
密码:123456
驱动:mysql-5.7.22

2.4.2 数据库具体设计
数据库中有一张user表,字段有id、用户名、密码、用户描述。
列名 数据类型 主键 是否为空 备注
id int Y N 用户ID
username varchar 用户名
userpassword varchar 用户密码
usermessage varchar 用户信息

2.4 系统详细设计
2.4.1 系统结构设计

2.4.2 功能模块设计
(1)添加用户

添加user,如果姓名没有冲突,那么就添加到数据库,如果姓名冲突了就不能添加,返回失败页面。
关键代码:

<form action="add.action" method="get">
		UserName:<input type="text" name="user.username"><br />
		UserPassword:<input type="password" name="user.userpassword"><br />
		UserMessage:<input type="text" name="user.usermessage"><br />
		<input type="submit" value="提交"> <input type="reset"
			value="重置">
	</form>

<action name="add" class="userAction" method="addUser" >
			<result name="success">success.jsp</result>
			<result name="error">fail.jsp</result>
		</action>

	public String addUser(){
		if(userService.exits(user.getUsername())){
			return ERROR;
		}
		userService.save(user);
		return SUCCESS;
	}

	public boolean exits(String username){
		List<User> userList = userDAO.findByUsername(username);
		if(userList.size()>0)
			return true;
		else
			return false;
	}

public void save(User user){
		userDAO.save(user);
	}

public void save(User user){
		hibernateTemplate.save(user);
	}

(2)查找用户

关键代码:

<form action="query.action" method="post">
		UserName: <input type="text" name="queryText" value="${searchText}" />
		<input type="submit" value="查询" />
	</form>

public String queryUser(){
		searchText = getParam("queryText");
		users = userService.queryUsers(searchText);
		return SUCCESS;
	}

public List<User> queryUsers(String username){
		if(username == null || "".equals(username))
			return userDAO.findAllUsers();
		else return userDAO.queryByUsername(username);
	}

(3)删除和编辑用户

关键代码:

<table width="70%" border="1px" align="center" cellpadding="0"
		cellspacing="0">
		<thead>
			<tr>
				<th width="25%">编号</th>
				<th width="25%">姓名</th>
				<th width="25%">信息</th>
				<th width="25%">操作</th>
			</tr>
		</thead>
		<tbody>
			<c:forEach var="user" items="${users}">
				<tr>
					<td>${user.id}</td>
					<td>${user.username}</td>
					<td>${user.usermessage}</td>
					 <td> <a href="edit.action?param=0&id=${user.id}">编辑</a>
<a href="delete.action?id=${user.id}">删除</a></td>
				</tr>
			</c:forEach>
		</tbody>
</table>

<action name="delete" class="userAction" method="deleteUser">
			<result name="success">success.jsp</result>
			<result name="error">fail.jsp</result>
		</action>
		<action name="edit" class="userAction" method="editUser">
			<result name="editUser">editUser.jsp</result>
			<result name="success">success.jsp</result>
		</action>

public void update(User user){
		hibernateTemplate.update(user);
	}
	public void delete(Integer id){
		User user=getUser(id);
		hibernateTemplate.delete(user);
	}

2.5 Hibernate技术
众所周知,Hibernate映射用生成的主键确定数据在表中的唯一性。

Java中user类属性在数据库user表中的映射为:id->id ; username->username ; userpassword->userpassword ; usermessage->usermessage;
四、实验结果及分析
效果截图:
添加用户:

查询用户:

查询空值:

编辑用户:

删除测试:

体会:
经过做本次javaee大作业,发现自己对Javaee的架构上还不是很熟悉,最后界面做的也很不美观,仅仅完成了一些简单的功能,在同学的帮助下,对hibernate架构有了一定的认识,也对struts有了深刻的认识。更加深刻的认识到了ssh框架的运行机制。

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值