实验一 Struts 框架技术及应用
一、实验目的:
掌握 Struts 框架技术的原理及其在项目中的应用,掌握MVC 开发模式。 二、实验内容:
创建一个用于本次和后续 Java EE 项目的名为test 的数据库,并在数据库中创建一个名为user 的表,用于记录属于合法登录的用户信息: create table user {
id int auto_increment not null, username varchar(10) not null, password varchar(10) not null, primary key(id) };
1、参考教材 P25,创建一个Java EE 项目,通过JSP+JDBC 的方式实现用户登录和判断,并给出登陆成功或失败时相应的提示页面。
2、参考教材 P43,创建另一个Java EE 项目,通过JSP+Struts+JDBC 的方式进行登陆和判断。比较和体会使用Struts 之后与JSP+JDBC 的方式的区别。 3、在 JSP+Struts+JDBC 的实现方式下,于数据库中创建学生成绩表,实现学生成绩的增删改查等功能。 三、分析与设计过程: 数据库建
1、用model1模式开发一个web登录程序,编写独立的JavaBean,通过JDBC访问test数据库中的user表来验证用户名和密码。
立
2、用model2模式开发一个web登录程序,页面效果与1的程序一样,改用Struts2控制页面的跳转,数据库的访问方式不变(仍然通过JDBC)。 四、测试数据与运行结果: 登录界面:
登录成功界面:
登录失败界面:
五、附录:
1、(1)连接数据库代码:
package org.easybooks.bookstore.jsbc; import java.sql.*;
public class MySQLConnBean { private Statement stmt = null; private Connection conn = null; ResultSet rs = null; //构造函数
public MySQLConnBean(){}
public void OpenConn()throws Exception { try {
Class.forName(\ String url = \ String user = \ String password = \
conn = DriverManager.getConnection(url,user,password); }
catch(SQLException e) {
System.err.println(\e.getMessage()); } }
//执行查询类的SQL语句,有返回集
public ResultSet executeQuery(String sql) {
rs = null; try {
stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); rs = stmt.executeQuery(sql); }
catch(SQLException e) {
System.err.println(\e.getMessage()); }
return rs; }
//关闭对象
public void closeStmt() { try {
stmt.close(); }
catch(SQLException e) {
System.err.println(\
e.getMessage()); } }
public void closeConn() { try {
conn.close(); }
catch(SQLException e) {
System.err.println(\e.getMessage()); } } }
(2)验证登录
<%@ page language=\ pageEncoding=\ import=\%> class=\ /> class=\
<%
String usr=request.getParameter(\提交的姓名
String pwd=request.getParameter(\提交的密码
boolean validated=false; 识
//验证成功标
//获取
//获取
//查询user表中的记录
String sql=\ MySqlBean.OpenConn(); 的方法
ResultSet rs=MySqlBean.executeQuery(sql); 果集
while(rs.next()) {
if((rs.getString(\
&&(rs.getString(\ {
validated=true; 表示验证成功通过 } }
rs.close();
MySqlBean.closeStmt(); MySqlBean.closeConn(); if(validated) {
//验证成功跳转到welcome.jsp %>
//验证失败跳转到error.jsp %>
//标识为true
//取得结
//调用MySqlBean中加载JDBC驱动