B/S登陆例子(JSP+JavaBean+MYSQL)

本文介绍了一个简单的JSP登录系统的实现过程,包括web.xml配置、登录界面设计、验证逻辑及数据库交互等内容。通过示例代码展示了如何使用session进行状态管理,并验证用户名密码的有效性。

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <display-name>jspLogin</display-name>
</web-app>

 index.jsp

 

 <%
 if(session.getAttribute("passed")==null){
  response.sendRedirect("login.jsp");
  return;
 }
%>
passed!

 login.jsp

 <%@ page contentType="text/html; charset=utf-8" %>
<html>
<head>
<title>
login
</title>
</head>
<body bgcolor="#ffffff">
<%
String flag=request.getParameter("flag");
if(flag!=null&&flag.equals("0")){
  out.println("Pls input valid username and password!<br><br>");
}
%>
<form name="form1" method="post" action="loginSuccess.jsp">
<input name="username" type="text"><br/>
<input name="password" type="password"><br/>
<input name="reset" type="reset" value="reset">
<input name="submit" type="submit" value="submit">
</form>
</body>
</html>

 

loginSuccess.jsp

<%@ page import="test.LoginCheck"%>
<%
String username=request.getParameter("username");
String password=request.getParameter("password");
boolean flag=false;

LoginCheck lc=new LoginCheck();
if(lc.check(username,password)){
    flag = true ;
 out.print("passed!");
}else{
  out.print("failed!");
}
if(flag){
  session.setAttribute("passed","true");
  response.sendRedirect("index.jsp");
}else{
  response.sendRedirect("login.jsp?flag=0");
}
%>


 

LoginCheck.java

package  test;
import  java.sql. * ;

public   class  LoginCheck  {
  
public static boolean check(String username,String password) {
    
boolean flag = false;
    
try {
      String sql 
= "select * from user where username='" + username +
          
"' and password='" + password + "'";
//
      Class.forName("com.mysql.jdbc.Driver");
      Connection conn 
= DriverManager.getConnection(
          
"jdbc:mysql://localhost:3306/test?user=cwb&password=cwb123&useUnicode=true");
      Statement pstmt 
= conn.prepareStatement(sql);
      ResultSet rs 
= pstmt.executeQuery(sql);
      
if (rs.next()) {
        flag 
= true;
      }

//
      rs.close();
      pstmt.close();
      conn.close();
    }
catch(Exception ex){
      ex.printStackTrace();
    }

    
return flag;
  }

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值