Java:
BaseDao.java:public class BaseDao{
/*创建数据库连接*/
public static Connection getConn(){
Connection conn=null;
String url="jdbc:sqlserver://localhost:1433;DatabaseName=JDBC";//localhost本地端口号;DatabaseName数据库名字
try{
class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//连接数据库
conn.DriverManager.getConnection(url,"sa","sasa");//加载驱动,url+数据库的用户名+用户密码
}catch(ClassNotFoundException e){//无法找到指定的类异常
e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因。
}catch(SQLException e){
e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因。
}
return conn;
}
/*关闭数据库连接*/
public static void CloseConn(Connection conn){
if(conn!=null){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
/*执行增删改*/
public static int executeUpdate(String strSql,Object[] args){
Connection conn=getConn();
int result=0;
PreparedStatement psmt=null;
try{
psmt=conn.prepareStatement(strSql);
for(int i=0;i<args.length;i++){
psmt.setObject(i+1,args[i]);
}
resulr=psmt.executeUpdate();
}
catch(SQLException e){
e.printStackTrace();
}finally{
closeConn(conn);
}
return result;
}
}
IUserDao.java:public interface IUserDao{
boolean isLoginSuccess(String userName,String passWord);
}
UserDaoImp.java:public class UserDaoImp implement IUserDao{
public isLoginSuccess(String userName,String passWord){
boolean flag=false;
Connection conn=BaseDao.getConn();
String StrSql="select * from Login where userName=? and passWord=?";
try{
PreparedStatement ps=conn.prepareStatement(strSql);
ps.setString(1,userName);
ps.setString(2,passWord);
ResultSet rs=ps.executeQuery();
if(rs.next()){
flag=true;
}
}catch(SQLException e){
e.printStackTrace();
}finally{
BaseDao.closeConn(conn);
}
return flag;
}
}
JSP:
userControl.jsp:<%
String sesUser=(String)session.getAttribute("userStr");
if(sesUser==null){
response.sendRedirect("Login.jsp");
}
%>
Login.jsp:<%
String msg=(String)session.getAttribute("msg");
if(msg!=null){
out.println("<h2>"+msg+"</h2>");
session.removeAttribute("msg");
}
%>
<form action="LoginControl.jsp" method="get">
<table border="1">
<tr><td>请输入用户名:<input type="text" name="userName"/></td></tr>
<tr><td>请输入密码:<input type="password" name="passWord"/></td></tr>
<tr><td><input type="submit" value="提交"/>
<input type="reset" value="取消"/></td></tr>
</table>
</form>
LoginControl.jsp:
<%
System.out.println("提交方式:"+request.getMethod());
String userName=request.getParameter("userName");
//通过设一个标志量的方式判断是否是a标签提交
String encodeFlag=request.getParameter("encodeFlag");
//通过字符串的构造方法转码
userName=new String(userName.getBytes("iso-8859-1"),"utf-8");
String passWord=request.getParameter("passWord");
IUserDao userDao=new UserDaoImpl();
if(userDao.isLoginSucess(userName,passWord)){
session.setAttribute("userStr",userName);
session.setMaxInactiveInterval(5);//5秒钟内有效
response.sendRedirect("index.jsp");
}else{//重定向
request.setAttribute("msg","用户名或密码错误!!!");//保存一个值
response.sendRedirect("Login.jsp");
}
%>
index.jsp:登录成功后跳转的页面<body>
<%
String sesUser=(String)session.getAttribute("userStr");
%>
<h1>session欢迎您:<%=sesUser%></h1>
</body>