jsp mysql登錄 demo_java jsp+servlet+mysql實現登錄網頁設計

涉及以下幾個文件:

1。登錄頁面 login.jsp

2,成功跳轉頁面 success.jsp

3,失敗跳轉頁面 fail.jsp

4,servlet 處理類 LoginTestServlet.java

5,配置文件 web.xml

--------------------------------------------- ?依次看代碼 ? ? ?--------------------------------------------

LoginTestServlet.java 內容

package com.test;

import java.io.IOException;

import java.sql.DriverManager;

import java.sql.ResultSet;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import com.mysql.jdbc.Connection;

import com.mysql.jdbc.Statement;

/**

* Servlet implementation class LoginTestServlet

*/

@WebServlet("/LoginTestServlet")

public class LoginTestServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* @see HttpServlet#HttpServlet()

*/

public LoginTestServlet() {

super();

}

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doPost(request, response);

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/heml;charset=gb2312");

request.setCharacterEncoding("gb2312");

String result = "";

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

String psw = request.getParameter("password");

if(username == "" || username == null || username.length()>20){

try {

result = "請輸入用戶名(不能超過20個字符)";

request.setAttribute("message", result);

response.sendRedirect("login.jsp");

return;

} catch (Exception e) {

e.printStackTrace();

}

}

if(psw == "" || psw == null || psw.length() > 20){

try {

result = "請輸入password(不能超過20個字符)";

request.setAttribute("message", result);

response.sendRedirect("login.jsp");

return;

} catch (Exception e) {

e.printStackTrace();

}

}

//登記JDBC驅動程序

try {

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

} catch (Exception e) {

System.out.print("Class Not Found Exception");

}

//鏈接URL

String url = "jdbc:mysql://localhost:3306/demo";

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

try {

conn = (Connection) DriverManager.getConnection(url,"root","root");

stmt = (Statement) conn.createStatement();

String sql = "select * from userInfo where username='"+username+"' and userpsw= '"+psw+"'";

rs = stmt.executeQuery(sql);

} catch (Exception e) {

e.printStackTrace();

}

HttpSession session = request.getSession();

session.setAttribute("username", username);

try {

if(rs.next()){

session.setAttribute("age",rs.getString("age")) ;

session.setAttribute("sex",rs.getString("sex")) ;

session.setAttribute("weight",rs.getString("weight")) ;

response.sendRedirect("success.jsp") ;

return;

}else{

session.setAttribute("message", "用戶名或password不匹配。

");

response.sendRedirect("fail.jsp") ;

return;

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

login.jsp 內容

pageEncoding="UTF-8"%>

用戶登錄

用戶登錄

用戶名:
密??碼

function validateLogin(){

var sUserName = document.frmLogin.username.value;

var sPassword = document.frmLogin.psssword.value;

if (sUserName ==""){

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

return false ;

}

if (sPassword ==""){

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

return false ;

}

}

success.jsp 內容

pageEncoding="UTF-8"%>

Insert title here

String userName = (String)session.getAttribute("username") ;

String age = (String)session.getAttribute("age") ;

String weight = (String)session.getAttribute("weight") ;

String sex = (String)session.getAttribute("sex") ;

System.out.println("性別:A" + sex +"A") ;

if (sex.trim().equals("M")) {

sex ="男" ;

}else{

sex = "女" ;

}

%>

歡迎您,登陸成功。

登陸用戶信息:

?姓名:?????
?年齡:?????
?體重:????kg?
?性別:?????

返回

fail.jsp 內容

pageEncoding="UTF-8"%>

Insert title here

String userName = (String) session.getAttribute("username");

String msg = (String) session.getAttribute("message");

%>

對不起。登陸失敗!原因:


5秒后將返回登陸界面。

response.setHeader("Refresh", "5;URL=/webDemo/login.jsp");

%>

-------------------------------------------------------配置數據庫------------------------------------------------------

mysql數據庫中須要創建數據庫demo,當中創建表userInfo 創建表語句為:

create databasedemo;

use demo

create table userInfo(id int not null primary key,username char(20) not null,userpsw char(20) ,age int ,weight int ,sex enum('M','F')) ;

須要把連接mysql的jar包放到項目的lib文件夾中

---------------------------------------------華麗的切割線----------------------------------------

最后 web.xml 內容

xmlns="http://java.sun.com/xml/ns/javaee"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

id="WebApp_ID" version="3.0">

webDemo

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

LoginTestServlet

com.test.LoginTestServlet

LoginTestServlet

/loginTestServlet

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529700.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529700.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529700.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

libsvm java下載_一個基于LIBSVM(JAVA)的股票預測demo

【實例簡介】一個基于LIBSVM的股票價格預測程序,采用隨機森林算法對樣本進行訓練和預測,使用的編程語言為JAVA。【實例截圖】【核心代碼】stock-master└── stock-master├── data│ ├── 000752.csv│ ├── 300251.csv│ ├── 300329.c…

mysql 家譜樹查詢_中國家譜族譜數據庫可以登錄、查詢了

原標題:中國家譜族譜數據庫可以登錄、查詢了中青在線武漢6月6日電(黨波濤 中國青年報中青在線記者 雷宇)數據量全球第一,最早可追溯到明朝萬歷年間。華中師范大學中國農村研究院今天對外發布,由該院建設的中國家譜族譜數據庫正式上線&#xf…

mysql-5.5.56配置_mysql 5.5.56免安裝版配置方法

mysql 5.5.56免安裝版配置方法發布時間:2020-10-18 23:16:23來源:腳本之家閱讀:74作者:阿安安mysql 5.5.56免安裝版配置方法,本文通過文字代碼詳解,具體內容如下所示:1. 下載mysql-5.5.56-winx6…

MySQL命令梳理_MySQL操作命令梳理(2)

一、表操作在mysql運維操作中會經常使用到alter這個修改表的命令,alter tables允許修改一個現有表的結構,比如增加或刪除列、創造或消去索引、改變現有列的類型、或重新命名列或表本身,也能改變表的注釋和表的類型。下面就針對alter修改命令的…

java 進度條_進度條Java

你必須使用線程.設計一個實現Runnable接口的類,它將更新這樣的值.class ProgressBarUpdator implements java.lang.Runnable {/*** Progress bar that shows the current status*/private javax.swing.JProgressBar jpb null;/*** Progress bar value*/private java.lang.Inte…

java 文件存儲_文件存儲學生信息(JavaIO流)

package com;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.Scanner;/*** author Administrator*1.要求:有五個學生,每個學生有姓名、年齡 、成績三個屬性&a…

位運算java_Java中的位運算

Java中的位運算,說實話,工作了兩年的時間里,從來沒有用過一次,因為平時都是些的是業務代碼,很少接觸比較底層的東西,我記得第一次在代碼中看到還是在HashMap的Hash算法中看到的,這次重拾Java基礎…

java藍橋杯dfs_第七屆 藍橋杯決賽 Java B組 打靶 解題報告(DFS,回溯,全排列)-Go語言中文社區...

題目:打靶小明參加X星球的打靶比賽。比賽使用電子感應計分系統。其中有一局,小明得了96分。這局小明共打了6發子彈,沒有脫靶。但望遠鏡看過去,只有3個彈孔。顯然,有些子彈準確地穿過了前邊的彈孔。不同環數得分是這樣設…

guid mysql_關于MySQL:MySQL-如何搜索GUID

我正在使用第三方.NET庫(Rhino Security),將其標識符存儲為mysql數據庫中binary(16)字段中的向導。 一切都可以從該應用程序完美地工作,但是當我嘗試通過查詢編輯器(對于MySQL為TOAD)手動運行查詢時,沒有行返回我知道存在的標識符。 例如&…

java 單例 生命周期_Rhythmk 一步一步學 JAVA (13) Spring-2 之Ben懶加載以及生命周期,單例...

1、定義Demo類:package com.rhythmk.spring;public class User {public void Init (){System.out.println("User 對象被 創建!");}// 計數器public int Count0;public void Say(){this.Count;System.out.println("User 被"this.Coun…

java 高級泛型_java泛型的高級應用

展開全部在上面的例子中,由于沒有限制class GenericsFoo類型持有者T的范圍,實際上這里32313133353236313431303231363533e59b9ee7ad9431333339666666的限定類型相當于Object,這和“Object泛型”實質是一樣的。限制比如我們要限制T為集合接口類…

java窗體線條切換消失_java – 如何更改apache poi生成的圖表不使用平滑線條并將空單元格顯示為間隙?...

我使用的是POI 3.12-beta1,并且代碼可以在圖例中創建包含多個數據集和命名系列的折線圖.但是,poi中折線圖的默認設置會生成一條已在數據點上平滑的線.空值也被繪制為0,但我們希望這些線在第一列停止,其中有一個空單元格.一旦在xlsx文件中呈現并更改這些設置,我就可以進入圖表屬…

java正則表達式 問號_正則表達式問號的四種用法詳解

正則表達式問號的四種用法詳解原文符號因為?在正則表達式中有特殊的含義,所以如果想匹配?本身,則需要轉義,\?有無量詞問號可以表示重復前面內容的0次或一次,也就是要么不出現,要么出現一次。非貪婪匹配貪婪匹配在滿…

java alert跳頁面_JavaScript中通過提示框跳轉頁面的方法

通過提示框跳轉頁面具體代碼如下所示:Documentwindow.onload function(){ //設置當頁面加載時執行var btn document.getElementsByTagName("button")[] //獲取btn元素btn.onclick function(){ //給button加上一個點擊事件var answer confirm("是否…

java jsp if else if_jsp頁面使用if else語句 | 學步園

jsp頁面嵌入java語句使用即可,但是在使用if else語句時一定要注意使用是標點的使用,在語句中分號不能寫,不符合jsp頁面的語法規則,若多寫了則會報錯:如下:{name: priceRA, type: string}, {name: priceRB, type: string}, {name: priceRC, type: string},{name: priceRD, typ…

mysql 優化300例_mysql的limit優化實例

測試環境操作系統: debian linux服務器版本: Mysql 5.0.24Mysql數據庫的Qcache緩存關閉數據庫表testtable的參數:類型: MyISAM 大小: >80MB 記錄規模: >50000 字段數: >25個字段id是主鍵 leibie字段上建有索引進行數據分段測試1>SQL不帶where條件的測試1…

mysql+百萬+中間表_MYSQL優化

MYSQL優化是一個非常大的課題,這篇文章主要介紹了跟MYSQL相關的4個方面,如果想深入研究可以查下相關資料。一、服務器級別優化二、操作系統級別優化三、MYSQL級別優化四、SQL級別優化一、服務器級別優化1.服務器選型SUN小型機、DELL730xd、HPDL380、IBM3…

java kafka 拉取_java獲取kafka consumer lag

maven依賴org.apache.kafkakafka-clients0.10.1.0注意:kafka-clients版本需要0.10.1.0以上,因為調用了新增接口endOffsets;laglogsize-offsetlogsize通過consumer的endOffsets接口獲得;offset通過consumer的committed接口獲得;imp…

java開源圖像處理ku_83 項開源視覺 SLAM 方案夠你用了嗎?

原標題:83 項開源視覺 SLAM 方案夠你用了嗎?公眾號:3D視覺工坊主要關注:3D視覺算法、SLAM、vSLAM、計算機視覺、深度學習、自動駕駛、圖像處理以及技術干貨分享運營者和嘉賓介紹:運營者來自國內一線大廠的算法工程師&a…

java 方法的拆分_java – 字符串拆分和比較 – 最快的方法

>將輸入讀入byte []數組以將指針保持在代碼的一側.>逐字節讀取,計算整數元素&#xff1a;int b inputBytes[p];int d b - 0;if (0 < d) {if (d < 9) {element element * 10 d;} else {// b :}} else {// b ,// add element to the hash; element 0;...}if (…