中间件技术.docx
- 文档编号:2332199
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:10
- 大小:55.99KB
中间件技术.docx
《中间件技术.docx》由会员分享,可在线阅读,更多相关《中间件技术.docx(10页珍藏版)》请在冰豆网上搜索。
中间件技术
《中间件技术》
实验指导书
软件学院
宋航
东北大学软件学院
2008年版
实验1开发Struts+JDBC登录(4学时)
1.实验目的
(1)理解Struts技术的工作原理;
(2)了解并掌握MyEclipse开发工具的使用;
(3)掌握Struts和JDBC的结合;
2.实验基本要求
(1)根据需求综合利用Struts技术实现网站登录功能;
(2)部署Struts项目到Tomcat服务器
(3)根据需求综合利用JDBC技术访问数据库实现相关查询;
(4)通过实验掌握Struts中Action调用JDBC中的相关方法并把结果显示在页面中;
3.预习内容
(1)复习Struts的概念;
(2)复习Struts开发流程;
4.实验基本步骤
Index.jsp实现用户登录页面,login_success.jsp实现用户登录成功的页面显示用户XX登录成功!
登录步骤:
用户填写好用户名和密码后发出登录请求给servlet(tomcat启动要加载web.xml文件,web.xml会根据index的action找到web.xml中的servlet,然后由servlet控制分发请求调用登录方法,
Index.jsp--web.xml---servlet.java---dao---daoImpl--servlet--login_success.jsp
web.xml文件
数据库的链接类负责链接数据库:
importjava.sql.*;
publicclassMysqlConnection{
privatefinalStringDBDRIVER="oracle.jdbc.driver.OracleDriver";
privatefinalStringDBURL="jdbc:
oracle:
thin:
@192.168.1.20:
1521:
ora9";
privatefinalStringDBUSER="scott";
privatefinalStringDBPASSWORD="tiger";
privateConnectionconn=null;
publicMysqlConnection(){
try{
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
}catch(Exceptione){
System.out.println(e);
}
}
publicConnectiongetConnection(){
returnthis.conn;
}
publicvoidclose(){
try{
this.conn.close();
}catch(Exceptione){
}
}
}
下面是servlet控制处理用户发送来的请求
publicclassloginServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
this.doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Listerrors=newArrayList();
Stringpath="../index.jsp";
Stringname=request.getParameter("username");
System.out.println("这是用户名:
"+name);
Stringpwd=request.getParameter("password");
System.out.println("这是密码:
"+pwd);
loginlg=newlogin();
lg.setUsername(name);
lg.setPassword(pwd);
lg.setErrors(errors);
booleanb=lg.invalidate();
System.out.println("判断输入格式的真假"+b);
if(b){
if(DAOFactory.getLoginDAOInstance().isLogin(lg)){
System.out.println("进行数据库端得判断***********");
path="../success.jsp";
}else{
errors.add("错误的用户名和密码!
");
}
}
request.setAttribute("Error",errors);
request.setAttribute("Lg",lg);
request.getRequestDispatcher(path).forward(request,response);
}
}
5.实验中遇到的问题和解决方法
运行时,提示classnotfound异常,原因没有导入数据库驱动,通过导入数据库的jar包,问题得到解决。
6.实验创新部分
运用javaBean所谓的(POJO)负责对数据库访问
7.思考题
1.思考Struts的执行过程。
启动Tomcat,加载web.xml,初始化所有Servlet,其中包括ActionServlet,初始ActionServlet时,它会加载struts-config.xml文件并解释,把path和Action类对应好;当ActionServlet拦载到客户端的Action请求时,根据请求的path找到Action类,然后执行,返回一个forward的字符串,根据字符串,在struts-config.xml配置文件中找到要跳找的文件,然后forward。
2.思考JDBC的实现步骤。
JDBC从物理结构上说就是Java访问数据库的一套接口集合。
从本质上说就是调用者(程序员)和实现者(数据库厂商)之间的协议。
常见数据库的Driver和URL:
Oracle:
Driver:
oracle.jdbc.driver.OracleDriver URL :
jdbc:
oracle:
thin:
@<数据库所在的服务器ip地址><:
端口><:
数据库名> 默认端口:
1521MySQL:
Driver:
com.mysql.jdbc.Driver URL :
jdbc:
mysql:
//<数据库所在的服务器ip地址><:
端口><:
数据库名> 默认端口:
3306SQLServer:
Driver:
com.microsoft.sqlserver.jdbc.SQLServerDriver URL :
jdbc:
microsoft:
sqlserver:
//<数据库所在的服务器ip地址><:
端口;>
8.得分点
注:
实验1满分30分。
(1)能否按照实验指导书的具体要求完成实验。
(12分)
(2)实验基本步骤正确。
(6分)
(3)编程风格好。
(2分)
(4)能否在完成基本要求的情况下,进行创新设计。
(4分)
(5)实验报告中思考题回答正确。
(6分,每个思考题3分)
表1:
实验1得分点
功能
得分
完成基本功能
(12分)
实验基本步骤正确
(6分)
编程风格
(2分)
创新情况
(4分)
思考题1
(3分)
思考题2
(3分)
得分
总分
教师评语及建议
教师签字和评阅时间
实验2开发Struts+JDBC注册(4学时)
1.实验目的
(1)理解Struts技术的工作原理;
(2)了解并掌握MyEclipse开发工具的使用;
(3)掌握Struts和JDBC的结合;
2.实验基本要求
(1)根据需求综合利用Struts技术实现网站注册功能;
(2)部署Struts项目到Tomcat服务器
(3)根据需求综合利用JDBC技术访问数据库实现添加记录操作
(4)通过实验掌握Struts中Action调用JDBC中的相关方法并把结果显示在页面中
3.预习内容
(1)复习Struts的开发步骤;
(2)复习JDBC流程;
4.实验基本步骤
在上一实验的基础上,在网页中增加一个注册按钮,用以跳转到注册页面:
然后通过网页来传入数据库。
数据库JDBC添加方法:
Stringdriver="oracle.jdbc.driver.OracleDriver";
Stringurl="jdbc:
oracle:
thin:
@192.168.1.20:
1521:
ora9";
Stringusername="scott";
Stringpassword="tiger";
Stringsql="insertintoEMPLOYEE(ID,NAME)values(?
?
)";
Connectionconn=null;
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,username,password);
PreparedStatementpstmt=conn.prepareStatement(sql);
pstmt.setInt(1,1234);
pstmt.setString(2,"soke");
pstmt.executeUpdate();
sql="select*fromEMPLOYEE";
pstmt=conn.prepareStatement(sql);
ResultSetrs=pstmt.executeQuery();
while(rs.next()){
System.out.println("id:
"+rs.getInt("ID")+"\tname:
"+rs.getString("NAME"));
}
if(rs!
=null){
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中间件 技术