实验一 Struts框架技术及应用
一、实验目的:
掌握 Struts框架技术的原理及其在项目中的应用,掌握MVC 开发模式。
二、实验内容:
创建一个用于本次和后续 Java EE 项目的名为te st 的数据库,并在数据库中创建一个名为u s er 的表,用于记录属于合法登录的用户信息:
createtable user
{
id int auto_in cremen t not null,
usernam e varchar(10) not null,
passwor d varchar(10) not null,
primary key(id)
};
1、参考教材 P25,创建一个Jav a EE 项目,通过JSP+JDBC 的方式实现用户登录和判断,并给出登陆成功或失败时相应的提示页面。
2、参考教材 P43,创建另一个Ja va EE 项目,通过JSP+Struts+JDBC 的方式进行登陆和判断。比较和体会使用S truts之后与JSP+JDBC 的方式的区别。
3、在 JSP+Struts+JDBC 的实现方式下,于数据库中创建学生成绩表,实现学生成绩的增删改查等功能。
三、分析与设计过程:
数据库建立
1、用model1模式开发一个w eb登录程序,编写独立的Ja vaBean,通过JDBC访问test 数据库中的us er表来验证用户名和密码。
2、用model2模式开发一个w eb登录程序,页面效果与1的程序一样,改用Strut s2控制页面的跳转,数据库的访问方式不变(仍然通过JDB C)。
四、测试数据与运行结果:
登录界面:
登录成功界面:
登录失败界面:
五、附录:
1、(1)连接数据库代码:
package org.easyboo ks.booksto re.jsbc;
importjava.sql.*;
publicclass MySQLCo nnBean {
private Stateme nt stmt = null;
private Connect ion conn = null;
ResultS et rs = null;
//构造函数
publicMySQLCo nnBean(){}
publicvoid OpenCon n()throwsExcepti on
{
try
{
Class.forName("sql.jdbc.Driver").newInst ance();
Stringurl = "jdbc:mysql://localho st:3306/test";
Stringuser = "root";
Stringpasswor d = "root";
conn = DriverM anager.getConn ection(url,user,passwor d);
}
catch(SQLExce ptione)
{
System.err.println("ute Query: " +
}
}
/
/执行查询类的S QL语句,有返回集
publicResultS et execute Query(Stringsql)
{
rs = null;
try
{
stmt = ateS tateme nt(
ResultS et.TYPE_SC ROLL_S ENSITI VE,ResultS et.CONCUR_UPDATA BLE); rs = ute Query(sql);
}
catch(SQLExce ptione)
{
System.err.println("ute Query: " +
}
returnrs;
}
//关闭对象
publicvoid closeSt mt()
{
try
{
stmt.close();
}
catch(SQLExce ptione)
{
System.err.println("ute Query: " +
}
}
publicvoid closeCo nn()
{
try
{
conn.close();
}
catch(SQLExce ptione)
{
System.err.println("ute Query: " +
}
}
}
(2)验证登录
<%@ page languag e="java" pageEnc oding="gb2312" import="java.sql.*"%> <jsp:useBean id="MySqlBe an" scope="page"
class="org.easyboo ks.booksto re.jsbc.MySQLCo nnBean" /> class="org.easyboo ks.booksto re.jsbc.MySQLCo nnBean" /> <html>
<head>
<meta http-equiv="Content-Type"
content="text/html;charset=gb2312">
</head>
<body>
<%
Stringusr=request.getPara meter("usernam e"); //获取提交的姓名
Stringpwd=request.getPara meter("passwor d"); //获取提交的密码
boolean validat ed=false; //验证成功标识
//查询user表中的记录
Stringsql="select* from user";
MySqlBe an.OpenCon n(); //调用MySql Bean中加载JDBC驱动的方法
ResultS et rs=MySqlBute Query(sql); //取得结果集
())
{
if((rs.getStri ng("usernam e")pare To(usr)==0)
&&(rs.getStri ng("passwor d")pare To(pwd)==0))
{jsp创建
validat ed=true; //标识为true 表示验证成功通过
}
}
rs.close();
MySqlBe an.closeSt mt();
MySqlBe an.closeCo nn();
if(validat ed)
{
//验证成功跳转到welcom e.jsp
%>
<jsp:forward page="welcome.jsp"/>
<%
}
else
{
//验证失败跳转到error.jsp
%>
<jsp:forward page="error.jsp"/>
<%
}
%>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论