当前位置:首页 > 《Javaee架构与应用》实验大纲与实验指导2015
import java.sql.*;
public class SqlSrvDBConn {
private Statement stmt; private Connection conn; ResultSet rs;
//在构造方法中创建数据库连接 public SqlSrvDBConn(){ stmt=null; try{ 456\
Class.forName(\String uri = \
conn = DriverManager.getConnection(uri, \ }catch(Exception e){ } rs=null; }
//执行查询类的SQL语句,有返回集 public ResultSet executeQuery(String sql) { try { E);
rs=stmt.executeQuery(sql); }catch(SQLException e){
System.err.println(\ } return rs; } //关闭对象
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABL
e.printStackTrace();
/**加载并注册 MySQL的 JDBC 驱动*/ /**加载并注册 SQLServer 2008 的 JDBC 驱动*/
//Class.forName(\
//conn=DriverManager.getConnection(\
3
public void closeStmt() { try {
stmt.close(); }catch(SQLException e){
System.err.println(\ } }
public void closeConn() { try {
conn.close(); }catch(SQLException e){
System.err.println(\ } } }
【2】UserTable.java
package org.easybooks.test.model.vo; public class UserTable {
private Integer id; private String username; private String password;
public Integer getId(){ }
public void setId(Integer id){ }
public String getUsername(){ }
public void setUsername(String username){ }
this.username=username; return this.username; this.id=id; return this.id;
4
}
public String getPassword(){ }
public void setPassword(String password){ }
this.password=password; return this.password;
(5)编写Servlet
package org.easybooks.test.servlet; import java.sql.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*;
import org.easybooks.test.jdbc.SqlSrvDBConn; import org.easybooks.test.model.vo.UserTable;; public class MainServlet extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
request.setCharacterEncoding(\
//设置请求编码 //获取提交的用户名 //获取提交的密码 //验证成功标识
String usr=request.getParameter(\ String pwd=request.getParameter(\ boolean validated=false;
SqlSrvDBConn sqlsrvdb=new SqlSrvDBConn();
HttpSession session=request.getSession(); //获得会话对象,用来保存当前登录用户的信息 UserTable user=null;
//先获得UserTable对象,如果是第一次访问该页,用户对象肯定为空,但如果是第二次甚至是第三次,
//就直接登录主页而无须再次重复验证该用户的信息 user=(UserTable)session.getAttribute(\
//如果用户是第一次进入,会话中尚未存储user持久化对象,故为null if(user==null){
//查询userTable表中的记录
//取得结果集
String sql=\
ResultSet rs=sqlsrvdb.executeQuery(sql);
try {
while(rs.next()) {
5
if((rs.getString(\compareTo(pwd)==0)){
}
}
sqlsrvdb.closeStmt(); sqlsrvdb.closeConn(); }
else{
validated=true; }
if(validated) {
//验证成功跳转到main.jsp response.sendRedirect(\ } else{
//验证失败跳转到error.jsp response.sendRedirect(\ }
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ }
(6)配置Servlet
Servlet编写完成后,必须在项目web.xml中进行配置方可使用。 修改项目web.xml
}
doGet(request,response);
//该用户在之前已登录过并成功验证,故标识为true表示无须再验了
rs.close();
} catch (SQLException e) {
e.printStackTrace();
user=new UserTable(); user.setId(rs.getInt(1));
user.setUsername(rs.getString(2)); user.setPassword(rs.getString(3)); session.setAttribute(\validated=true; }
//把user对象存储在会话中 //标识为true表示验证成功通过 //创建持久化的JavaBean对象user
6
共分享92篇相关文档