JDBCJSPServlet综合程序设计.docx
- 文档编号:4196755
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:19
- 大小:451.44KB
JDBCJSPServlet综合程序设计.docx
《JDBCJSPServlet综合程序设计.docx》由会员分享,可在线阅读,更多相关《JDBCJSPServlet综合程序设计.docx(19页珍藏版)》请在冰豆网上搜索。
JDBCJSPServlet综合程序设计
昆明理工大学信息工程与自动化学院学生实验报告
(2016—2017学年第2学期)
课程名称:
JAVAEE技术
开课实验室:
呈贡校区信自楼2017年4月17日
年级、专业、班
软工141
学号
201410413126
姓名
陈娜
成绩
实验项目名称
JDBC、JSP、Servlet综合程序设计
指导教师
袁梅宇
教
师
评
语
该同学是否了解实验原理:
A.了解□ B.基本了解□ C.不了解□
该同学的实验能力:
A.强 □B.中等□C.差□
该同学的实验是否达到要求:
A.达到□ B.基本达到□ C.未达到□
实验报告是否规范:
A.规范□ B.基本规范□ C.不规范□
实验过程是否详细记录:
A.详细□ B.一般□ C.没有□注:
5个A为优4个A为良3个A为及格其余为不及格。
教师签名:
年月日
实验四JDBC、JSP、Servlet综合程序设计
一、实验内容
1.通过上机,掌握JDBC、JSP、Servlet的联合应用。
2.编写一个实现JDBC、JSP、Servlet三种技术的综合程序,内容不限。
3.完成以上内容的程序调试,并运行出正确的结果。
二、所用仪器、材料
PC一台,JDK、Eclipse、Tomcat、MySQL
三、实验原理
1.JDBC:
一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。
2.JSP:
java服务器页面,其根本是一个简化的Servlet设计。
JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
3.Servlet:
是用Java编写的服务器端程序。
其主要功能在于交互式地浏览和修改数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类。
四、实验过程
(一)使用内存域(详细代码见代码附录)
1.新建动态web项目chenna_4中login.jsp
2.新建动态web项目chenna_4中error.jsp
3.新建动态web项目chenna_4下WebContent子目录Protected中的index.jsp
4.新建动态web项目chenna_4下WebContent子目录Protected中的logout.jsp
5.设置web项目chenna_4下的web.xml
6.修改Tomcat的tomcat-users.xml
7.
(1)测试BASIC
(2)测试DIGEST(将
(3)测试FORM(将
定制表单
认证首页
(二)使用JDBC域
1.新建动态Web项目jdbcrealm_cn并在mysql中新建数据库tomcat,并在其中建立表users和user_roles
2.配置tomcat中的context.xml
3.配置web.xml(tomcat角色和admin角色可以访问/Protected目录,但只有admin角色可以访问/admin目录)
4.建立admin和protected子目录,并分别在目录下建立index.jsp与logout.jsp
(1)admin目录下
(2)protected目录下
5.
(1)运行admin下的index.jsp
以admin身份登陆
以tomcat身份运行
(2)运行Protected下的index.jsp
以admin身份登陆
以tomcat身份运行
(三)密文存放密码
(四)SSL协议
五、实验结果、分析和结论(误差分析与数据处理、成果总结等。
其中,绘制曲线图时必须用计算纸)
(1)本次实验是本学期以来难度最高的实验。
但如果细化下去,却也没想象中的复杂,根据对课本代码逐渐的深入认识后,再将其总结后,将实验得以粗略的完成。
(2)在windows安全提示输入密码时,对tomcat-users.xml的不了解,将其输为PC机用户和密码,后来输入自己设置的tomcat用户,但未输入密码,出现401错误,经过对代码的重新审查后才运行正确。
(3)在本次实验里,学会了如何将javaEE与数据库连接,学会了密码在tomcat对的保存形式,但之前所使用的密码为明文密码,所以安全级别较低,在学会使用密文存储密码后。
其实还是在手工导入,没有实现自动化。
(4)本次实验是学期实验的综合,所以也很好的综合掌握了JavaEE的形式,对它的认识更近了一步,相信在后面的不断学习和不断的深化当中,我会更好的掌握它,并且,我相信这次实验会给我在未来带来很大的影响。
源代码:
(一)chena_4项目中:
1.login.jsp
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
body{
color:
#000;
font-size:
12px;
margin:
0pxauto;
}
functioncheck(form){
//document.forms.form1.username.value取得form1中Username的值并判断是否为空
if(document.forms.form1.username.value==""){
//如果为""则弹出提示
alert("plsinputusername");
//将输入焦点定位到没有输入的地方
document.forms.form1.username.focus();
//返回错误
returnfalse;
}
if(document.forms.form1.password.value==""){
alert("plsinputpassword");
document.forms.form1.password.focus();
returnfalse;
}
}
--onclick="returncheck(this)调用上面的Script进行验证-->
2.error.jsp
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
Sorry!
你的登陆信息不正确!
系统无法让你登陆!
3.index.jsp
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
测试FORM
登录名:
<%=request.getRemoteUser()%>
认证机制:
<%=request.getAuthType()%>
认证主体名称:
<%=request.getUserPrincipal().getName()%>
退出登陆
4.logout.jsp
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
<%
session.invalidate();
response.sendRedirect(getServletContext().getContextPath()+
"+/Protectde/index.jsp");
%>
5.web.xml
xmlversion="1.0"encoding="UTF-8"?
>
xsi="http: //www.w3.org/2001/XMLSchema-instance" xmlns="http: //xmlns.jcp.org/xml/ns/javaee" xsi: schemaLocation="http: //xmlns.jcp.org/xml/ns/javaeehttp: //xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"id="WebApp_ID" version="3.1"> (二)使用JDBC安全域jdbcrrealm项目 1.建表语句 use[tomcat] createtableusers( user_namevarchar(15)notnull, user_passvarchar(35)notnull, Primarykey(user_name) ) createtableuser_roles( user_namevarchar(15)notnull, roles_namevarchar(15)notnull, Primarykey(user_name,roles_name) ) insertintousersvalues('admin','chenna') insertintousersvalues('chenna','chenna') select*fromusers insertintouser_rolesvalues('admin','chenna') insertintouser_rolesvalues('chenna','chenna') 2.Login.jsp、error.jsp与chenna_4项目中相同 3.Web.xml xmlversion="1.0"encoding="UTF-8"? > xsi="http: //www.w3.org/2001/XMLSchema-instance"xmlns="http: //xmlns.jcp.org/xml/ns/javaee"xsi: schemaLocation="http: //xmlns.jcp.org/xml/ns/javaeehttp: //xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"id="WebApp_ID"version="3.1"> 4.Admin下的代码 (1)index.jsp <%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http: //www.w3.org/TR/html4/loose.dtd">
本页面仅供admin访问
登录名:
<%=request.getRemoteUser()%>
认证机制:
<%=request.getAuthType()%>
认证主体名称:
<%=request.getUserPrincipal().getName()%>
退出登陆
(2)logout.jsp
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
<%
session.invalidate();
response.sendRedirect(getServletContext().getContextPath()+
"+/admin/index.jsp");
%>
5.Protected下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JDBCJSPServlet 综合 程序设计