jsp+javabean+servlet實現簡單的登錄


登錄功能

注釋:過程中的錯誤看567(DBUtil類中,用戶名密碼填寫自己的用戶名和密碼)

1、首先進行Mysql數據庫的建立

mysql數據庫中建立test數據庫,新建表user,表中兩個列,分別為nameuserpassword。·如下圖

 

 

 

2、之后打開eclipse新建Demoweb應用。如下圖

 

 

3、DemoJava Resources的文件夾下新建4個包,包名分別為beandaodbservlet

bean包中新建Userbean類,內容如下:

package bean;

 

import java.util.Date;

 

public class Userbean

{

private String username;

private String userpassword;

 

 

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getUserpassword() {

return userpassword;

}

public void setUserpassword(String userpassword) {

this.userpassword = userpassword;

}

 

 

public Userbean() {

 

}

 

public Userbean(String username,String userpassword) {

super();

 

this.username = username;

this.userpassword = userpassword;

 

}

 

 

 

}

dao中新建Admindao類,內容如下:

package dao;

 

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

 

 

import db.DBUtil;

 

import bean.Userbean;

 

 

 

 

public class Admindao

{

 

public Userbean checkLogin(String username, String password)//檢測登錄

{

Connection conn=DBUtil.getConn();//連接

Userbean userbean=null;

Statement state=null;

ResultSet rs=null;

try

{

state=conn.createStatement();

rs=state.executeQuery("select * from user where name='"+username+"'");//查詢

if(rs.next())

{//查詢成功

if(rs.getString("userpassword").equals(password))

{

 

userbean = new Userbean();

userbean.setUsername(rs.getString("name"));

userbean.setUserpassword(rs.getString("userpassword"));

 

}

 

}

}

catch (Exception e)

{

e.printStackTrace();

}

finally

{

DBUtil.close(rs, state, conn);

}

return userbean;//返回值

}

 

 

}

db中新建DBUtil類,內容如下->注:用戶名密碼填寫自己的用戶名和密碼):

package db;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

public class DBUtil

{

public static String db_url="jdbc:mysql://localhost:3306/test?uerUnicode=true&characterEncoding=UTF-8";//test是連接的數據庫名

public static String db_user="root";//連接mysql的用戶名,填寫你自己的

public static String db_password="root";//連接mysql的密碼,填寫你自己的

public static Connection getConn()

{

Connection conn=null;

try

{

Class.forName("com.mysql.jdbc.Driver");

conn=DriverManager.getConnection(db_url,db_user,db_password);

}

catch(Exception e)

{

e.printStackTrace();

}

return conn;

}

public static void close(Statement state,Connection conn)//關閉

{

if(state!=null)//判斷

{

try

{

state.close();

}

catch(SQLException e)

{

e.printStackTrace();

}

}

if(conn!=null)

{

try

{

conn.close();

}

catch(SQLException e)

{

 e.printStackTrace();

}

}

}

public static void close(ResultSet rs,Statement state,Connection conn)

{

if(rs!=null)

{

try

{

rs.close();

}

catch(SQLException e)

{

e.printStackTrace();

}

}

if(state!=null)

 

{

try

{

state.close();

}

catch(SQLException e)

{

e.printStackTrace();

}

}

if(conn!=null)

{

try

{

conn.close();

}

catch(SQLException e)

{

e.printStackTrace();

}

}

}

 

}

 

servlet包中新建Adminservlet類,內容如下:(出錯誤看后面的5須要加tomcat服務)

package servlet;

 

import java.io.IOException;

import java.io.UnsupportedEncodingException;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

 

import bean.Userbean;

import dao.Admindao;

 

 

 

 

@SuppressWarnings("serial")

public class Adminservlet extends HttpServlet

{

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

 

{

// TODO Auto-generated method stub

req.setCharacterEncoding("utf-8");

String method = req.getParameter("method");

 

if ("login".equals(method))

{

try {

login(req, resp);

} catch (ClassNotFoundException e) {

// TODO 自動生成的 catch

e.printStackTrace();

} catch (SQLException e) {

// TODO 自動生成的 catch

e.printStackTrace();

}

}

 

}

 

 

 

 

 

private void login(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException, ClassNotFoundException, SQLException

{

req.setCharacterEncoding("utf-8");

String username = req.getParameter("username");

String password = req.getParameter("password");

Admindao adminDao = new Admindao();

Userbean userbean = adminDao.checkLogin(username, password);

if(userbean==null)

{

System.out.println("0");

req.getRequestDispatcher("/fail.jsp").forward(req, resp);

}

else

{

System.out.println("1");

req.getRequestDispatcher("/success.jsp").forward(req, resp);

 

}

 

 

 

}

 

 

}

 

3、WebContent文件夾中新建login.jsp文件,內容如下:

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="utf-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>登錄</title>

<script language="javascript">

function checkinfo(){

 

var username = document.getElementById('username');

var password = document.getElementById('password');

 

if(username.value ==""&&password.value =="")

{

document.getElementById('username').focus();//給用戶名獲取焦點

alert('請輸入用戶名和密碼!!!');

}

else if(username.value =="")

{

document.getElementById('username').focus();//給用戶名獲取焦點

alert('請輸入用戶名!!!');

}

else if(password.value =="")

{

document.getElementById('password').focus();//密碼獲取焦點

alert('請輸入密碼!!!');

}

else

{

document.getElementById("form").submit();

}

}

</script>

</head>

<body onload= "javascript:document.getElementById('username').focus();">

<form id="form" action="${pageContext.request.contextPath}/admin/adminServlet?method=login" method="post" >

<table width="252" border="1" align="center">

  <tr>

    <td width="72"><strong>用戶名:</strong></td>

    <td width="164"><input id="username" name="username" type="text" /></td>

  </tr>

  <tr>

    <td><strong>密碼:</strong></td>

    <td><input id="password" name="password" type="password" /></td>

  </tr>

  <tr>

    <td> </td>

    <td><button type="button" name="login" onclick="checkinfo()"  >登錄</button>

    </td>

  </tr>

</table>

</form>

</body>

</html>

新建success.jsp文件,內容如下:

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="utf-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>success</title>

</head>

<body>

登錄成功!!!

<input type="submit" value="退出" onclick="javascript:window.location.href='${pageContext.request.contextPath}/login.jsp';" >

</body>

</html>

 

新建fail.jsp文件,內容如下:

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="utf-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>fail</title>

<script language="javascript">

function fanhui(){

alert('用戶名或密碼不正確!');

document.getElementById("form").submit();

}

</script>

</head>

<body onload= "fanhui();">

<form id="form" action="${pageContext.request.contextPath}/login.jsp" >

</form>

</body>

</html>

4、WebContent文件夾的WEB-INF文件夾中,右擊新建其他,新建web.xml文件,或者選擇新建文件,在名字后加上.xml(名字別亂起,文件位置必須是此路徑),內容如下:

 

 

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4" >

<servlet>

<servlet-name>Adminservlet</servlet-name>

<servlet-class>servlet.Adminservlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Adminservlet</servlet-name>

<url-pattern>/admin/adminServlet</url-pattern>

</servlet-mapping>

</web-app>

5、錯誤修改,錯誤如下

 

還有

 

此錯誤是因為tomcat服務沒有加載,解決方法:

(1)右擊Demo項目,選擇構建路徑,點擊配置構建路徑,顯示如下圖:

 

(2)點擊Add Library 之后,點擊下一步,選擇Server Runtime,之后選擇自己的tomcat服務,點擊完成,如下圖:

 

 

之后點擊確定,

 

6、還有一個是Mysqljar須要加進去,須要連接Mysql數據庫

(方法1)可以在WebContent文件夾的WEB-INF中的lib文件夾中加入mysqljar,如下圖:

 

 

2)右擊Demo項目,選擇構建路徑,點擊配置構建路徑,之后點擊添加外部JAR,選擇自己路徑下的Mysqljar,選擇后點擊確定,最后一步如下圖:

 

 

7Mysql的服務必須啟動,將cmd(命令提示符)用管理員身份運行,之后輸入 net start mysql 點擊回車(mysql是我的mysql服務的名字,請輸入你自己的mysql服務的名字)。聯系QQ1906608931。歡迎提出問題!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM