现有一个用户管理网站xweb03。
现有项目结构如下内容:
类
描述
是否完成
com.neu.bean.User
对应数据表user的javaBean
是
com.neu. Person
Java类
否
com.neu.servlet.LoginServlet
用于用户登录功能,访问路径(/login)
否
com.neu.servlet.UserServlet
用于用户列表显示,访问路径(/users)
否
com.neu.dao.UserDao
用户持久层,
否
com.neu.dao.UserService
用户逻辑层
是
com.neu.util.DBUtil
数据库连接的工具类
是
/webapp/login.jsp
网站登录页面
是
/webapp/users.jsp
用户列表显示页面
是
其中在数据库xwebdb中有user表,访问该数据库的用户名/密码是xwebdb/xwebdb,user表结构如下:
字段名称
字段描述
字段类型
备注
id
用户编号
varchar(32)
主键
userName
用户名
varchar(100)
不能重复
password
密码
varchar(100)
一、完成Java类的编写
在com.neu.Person类中完成如下功能。
在Person类中添加两个String类型的成员变量,name和sex。
在Person类中添加带有两个参数的公有构造方法:为name和sex属性赋初始值。
定义Person类的子类com.neu.Student。
在com.neu.Student中添加一个int类型的成员变量age和char类型成员变量grade。
在com.neu.Student类中添加带4个参数的构造方法:参数的顺序是name、sex、age、grade 并且分别为对应的属性赋值。
在Student类中添加方法:方法名为print(),返回类型是String。将每个属性值用号连接并返回。 返回的格式为:namesexagegrade。
自行编写测试类测试,通过四个参数的构造函数创建一个Studentd对象,参数值分别为name=张三、sex=男、age=30、grade=A 调用Student对象的print()方法,返回的结果应该为:张三男30*A。
请完全按照要求编写代码,保证类文件编译正确,方可得分。
二、完成UserDao
为完成用户登录的功能,需要在持久层完成getUserByName方法的编写。所用到的数据库连接对象请使用com.neu.util.DBUtil(请不要修改该对象的代码).
在neu.dao.UserDao.getUserByName方法中编写代码,根据用户名称检索数据库user表的记录,将记录内容保存到com.neu.bean.User对象中返回。
三、完成登录功能
在LoginServlet的doPost方法中完成网站的登录功能编写。其完成的内容如下:
从表单中获得用户名和密码
调用UserService的getUserName方法
根据调用结果进行判断:
登录成功:将用户名称保存到session对象中(键值名称"user"),并跳转到users(UserServlet的路径)。
登录失败:跳转到login.jsp
四、完成用户列表功能
在UserServlet的doGet方法中完成网站用户列表功能的编写,其完成的内容如下:
判断用户是否登录:
从session对象中取出键值是“user”的值,判断是否为空。
如果session键值“user”为空:跳转到jsp。
如果session键值“user”不为空:
创建UserService对象,调用其中获得所有数据的方法。
将返回的结果放入到request对象中(键值名称是“userList”)。
转发到users.jsp。
五、打包
程序打包
思路非常不错,加油你可以的