JAVA Web技术-实验2
- 格式:doc
- 大小:248.50 KB
- 文档页数:13
实 验 报 告
课程名称 JavaWeb技术
实验项目 实验2 JSP model 1开发
实验仪器 PC机
系 别 计算机学院
专 业 软件工程
班级/学号
学生姓名
实验日期 2016-9-26
成 绩
指导教师
1
实验2 JSP Model 1开发
一、实验目的
1. 正确理解和使用JavaBean技术
2. 正确理解和使用JDBC技术
3. 正确理解和使用JSP和JavaBean的相互调用
4. 正确理解和使用JSP Modle1进行开发
二、实验要求
使用JSP Model 1模式开发一个商品管理系统,具有登录功能,用户登录后能进行商品的增删改查。具体要求:
1. 数据库的名字设为自己名字的英文,在其中设计用户表和商品表用于数据存储;
2. 登录验证时要求有错误提示;
3. 进入系统后每个页面要求有session验证(即判断是否已正常登录);
4. 能够对商品信息进行正常的浏览、增加、删除、修改和条件查询。
三、实验步骤
1. 数据准备(MySQL)
(1)
创建数据库,库名为自己名字的拼音缩写。
数据库名为: zhangxinjie
(2) 创建用户表user,其结构如下:
字段名称 数据类型 说明
username Char(10) 用户名
userpassword Char(20) 密码
(3) 创建商品表product,其结构如下:
字段名称 数据类型 说明
pid int 产品编号
pname Varchar(20) 产品名称
pnumber int 产品数量
2
2. 资源说明。用列表的形式说明各程序文件的作用。
登陆部分
程序文件名称 程序文件作用
login.jsp 主要登陆界面,供用户输入用户名和密码
judgelogin.jsp 逻辑判断用户名和密码与数据库是否匹配
操作按钮部分
operateView.jsp 基本操作界面,供用户选择进入产品操作界面和返回登陆界面
product.jsp 产品操作界面,共用户选择产品预览及产品的增删改查
产品的预览
productView.jsp 提供产品预览界面,包括所有产品的编号、名称及剩余数量
产品的增加
addProduct.jsp 增加产品操作界面,供用户输入要增加的产品的编号、名称及剩余数量
newAddProduct.jsp 逻辑判断语句,将addProduct中输入的信息添加到数据库中,并显示添加信息后信息表
产品的删除
deleteProduct.jsp 删除产品页面,供用户输入待删除的产品编号或产品名称
deleteById.jsp 逻辑判断语句,根据deleteProduct中输入的产品编号在数据库中删除对应行
deleteByName.jsp 逻辑判断语句,根据deleteProduct中输入的产品名称在数据库中删除对应行
产品的更新
updateProduct.jsp 更新产品页面,供用户输入待更新的产品的产品编号
updateById.jsp 供用户输入待更新的产品的产品名称和产品数量
updateByIdResult.jsp 根据用户输入的更新信息在数据库中进行修改
产品的查找
findProduct.jsp 查找产品界面,供用户输入待查找的产品编号或产品名称
findById.jsp 逻辑判断语句,根据findProduct中输入的产品编号在数据库中删除对应行
findByName.jsp 逻辑判断语句,根据findProduct中输入的产品编名称在数据库中删除对应行
3
3. 说明如何使用JSP Model 1实现登录功能(用户名为自己的中文名字)。
(1) 方案说明。
使用session隐含对象。
① 在judgeLogin.jsp中,判断用户输入的用户名和密码与数据库中某一项是否匹配。如果匹配,则在session对象中保存数据,键为name,值为用户名,并跳转到基本操作界面operateView.jsp。否则,重新回到login.jsp界面重新输入用户名和密码进行登陆。
② 在其后的jsp文件中,获取session对象的name键的键值,如果为空,则登录失败或未登陆,提示用户进入登陆页面进行登录。否则,不为空,则用户已经登陆,先是接下来的界面并编译接下来的代码段。
(2) 源码展示。
① judgeLogin.jsp中
if(rs.next()){//如果匹配成功
session.setAttribute("name", name);
%>
<%
}
else{
out.println("登录失败,请重新登录! 登陆");
}
② 其后的jsp文件中
<%
String name=(String)session.getAttribute("name");
if(name==null){
out.print("请登陆!登陆");
}
else{
%>
//其他代码段
<%
}
%>
4
(3) 截图。
4. 所有功能的运行截图
登陆界面
5
基本操作界面
产品操作界面
产品预览界面
6
产品增加页面
产品删除页面
7
8
产品修改页面
9
10
产品查找界面
11
四、实验中值得注意的问题
1.编码问题
时刻注意编码的统一,实验中最好都使用utf-8编码,避免出现乱码等问题
2.连接数据库要有的五个步骤
a) //使用MySql的JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
b) //连接数据库
con = DriverManager
.getConnection("jdbc:mysql://localhost:3306/zhangxinjie?user=root&password= 1234");
c) //创建Statement对象
sment = con.createStatement();
12
d) //执行SQL语句
String sql="select * from user where username='" + name
+ "' and userpassword = '" + pw + "'";
rs = sment.executeQuery(sql);
e) //关闭数据库
con.close();
3.数据库语句要注意的格式问题
使用String定义sql语句过程中,经常因为没有为字符类型写单引号造成很多不容易发现的问题,本次试验中我也遇到同样的问题,以为是int型,没有加单引号,之后出现问题不容易发现。
4.异常的处理
一份好的代码异常处理部分一定是比较完善的,在jsp文件中要多注意需要加异常处理的部分,方便找出问题的所在,又使代码更丰盈。
五、实验总结
做实验的过程中发现了我的很多问题。
不能在全局范围内思考问题。有时会因为忘记写连接数据库五个步骤中的一步而发生报错,有时又在不断的向已有的结构中加入新的东西。后来想如果说在做实验之前有个大体构想,包括软件的功能、界面,如果都想得比较全面,那最后可修改的地方理应是少之又少。所以应该有全局的思维,从整体考虑。
不能专业的思考问题。虽然功能比较齐全,但是界面却不能做得很好。如果从始至终严格要求自己,不是以完成试验的目的去做实验,专业的思考,专业的考虑整个页面的布局,效果应该会比现在好得多。