1. 程式人生 > >JSP_實現Servlet登陸,註冊,連結Mysql資料庫。

JSP_實現Servlet登陸,註冊,連結Mysql資料庫。

也是一個MVC的例項

user.sql:

-- phpMyAdmin SQL Dump
-- version phpStudy 2014
-- http://www.phpmyadmin.net
--
-- 主機: localhost
-- 生成日期: 2014 年 06 月 21 日 17:42
-- 伺服器版本: 5.5.38
-- PHP 版本: 5.3.28

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */;
/*!40101 SET @
[email protected]
@CHARACTER_SET_RESULTS */; /*!40101 SET @[email protected]@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- 資料庫: `users` -- -- -------------------------------------------------------- -- -- 表的結構 `ur` -- CREATE TABLE IF NOT EXISTS `ur` ( `name` varchar(255) NOT NULL, `passwd` varchar(255) NOT NULL, `id` bigint(20) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=2 ; -- -- 轉存表中的資料 `ur` -- INSERT INTO `ur` (`name`, `passwd`, `id`) VALUES ('a', 'a', 1); /*!40101 SET
[email protected]
_CHARACTER_SET_CLIENT */; /*!40101 SET [email protected]_CHARACTER_SET_RESULTS */; /*!40101 SET [email protected]_COLLATION_CONNECTION */;

web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
  <display-name>JSP_servlet_javabean</display-name>
	<servlet>
		<description>配置用於使用者登入的Servlet</description>
		<display-name>LoginServlet</display-name>
		<servlet-name>LoginServlet</servlet-name>
		<servlet-class>LoginServlet</servlet-class>
	</servlet>  
	<servlet-mapping>
		<servlet-name>LoginServlet</servlet-name>
		<url-pattern>/LoginServlet</url-pattern>
	</servlet-mapping>
	<servlet>
		<description>配置用於使用者註冊的Servlet</description>
		<display-name>RegisterServlet</display-name>
		<servlet-name>RegisterServlet</servlet-name>
		<servlet-class>RegisterServlet</servlet-class>
	</servlet>  
	<servlet-mapping>
		<servlet-name>RegisterServlet</servlet-name>
		<url-pattern>/RegisterServlet</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
    	<welcome-file>login.html</welcome-file>
  	</welcome-file-list>
</web-app>

lib:

mysql-connector-java.jar;

mysql-connector-java-5.1.17.jar;

login.html:

<!DOCTYPE html>

<html>
<head>
<title>Login.html</title>
<meta charset="UTF-8">

<link rel="stylesheet" href="css/reset.css">

<link rel="stylesheet" href="css/style.css" media="screen"
	type="text/css" />
</head>

<body>
	<form action="LoginServlet" method="post" onsubmit="check()">
		<table>
			<tr>
				<td>Login:</td>
				<td><input type="text" name="login" id="login" size="20"></td>
			</tr>
			<tr>
				<td>Password:</td>
				<td><input type="password" name="password" id="password"
					size="20"></td>
			</tr>
			<tr>
				<td colspan="3"><input type="submit" name="submit"> <input
					type="reset" name="reset"> <a href="register.html">register</a>
				</td>
			</tr>
		</table>
	</form>
</body>
</html>

loginCheck.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>Insert title here</title>
</head>
<body>
	<%
		String checkLogin = (String)(request.getAttribute("checkLogin"));
	%>
	<script type="text/javascript">
		alert("<%=checkLogin%>!");
		window.location.href="login.html"; 
	</script>
</body>
</html>

loginsuccess.jsp:
<%@ page contentType="text/html; charset=utf-8"%>
<%@ page import="bean.userBean"%>
<HTML>
<head>
<title>系統登入成功頁面</title>
</head>
<body>
	<%
		userBean user = (userBean) (request.getAttribute("user"));
		session.setAttribute("user", user);
	%>
	<script type="text/javascript">
		alert("登入成功!")
	</script>
	歡迎使用者:<%=user.getUserName()%>
	<div id="box"
		style="width: 252px; font: 25px/25px 宋體; background: #000; color: #9f9; border: #999 20px ridge; text-shadow: 2px 3px 1px #0f0;"></div>
	<script>
		var domain = "www.zuidaima.com";
		var author = "zuidaima";
		var map = eval("[" + Array(23).join("0x801,") + "0xfff]");
		var tatris = [ [ 0x6600 ], [ 0x2222, 0xf00 ], [ 0xc600, 0x2640 ],
				[ 0x6c00, 0x4620 ], [ 0x4460, 0x2e0, 0x6220, 0x740 ],
				[ 0x2260, 0xe20, 0x6440, 0x4700 ],
				[ 0x2620, 0x720, 0x2320, 0x2700 ] ];
		var keycom = {
			"38" : "rotate(1)",
			"40" : "down()",
			"37" : "move(2,1)",
			"39" : "move(0.5,-1)"
		};
		var dia, pos, bak, run;
		function start() {
			dia = tatris[~~(Math.random() * 7)];
			bak = pos = {
				fk : [],
				y : 0,
				x : 4,
				s : ~~(Math.random() * 4)
			};
			rotate(0);
		}
		function over() {
			document.onkeydown = null;
			clearInterval(run);
			alert("GAME OVER");
		}
		function update(t) {
			bak = {
				fk : pos.fk.slice(0),
				y : pos.y,
				x : pos.x,
				s : pos.s
			};
			if (t)
				return;
			for (var i = 0, a2 = ""; i < 22; i++)
				a2 += map[i].toString(2).slice(1, -1) + "<br/>";
			for (var i = 0, n; i < 4; i++)
				if (/([^0]+)/.test(bak.fk[i].toString(2)
						.replace(/1/g, "\u25a1")))
					a2 = a2.substr(0, n = (bak.y + i + 1) * 15
							- RegExp.$_.length - 4)
							+ RegExp.$1 + a2.slice(n + RegExp.$1.length);
			document.getElementById("box").innerHTML = a2.replace(/1/g,
					"\u25a0").replace(/0/g, "\u3000");
		}
		function is() {
			for (var i = 0; i < 4; i++)
				if ((pos.fk[i] & map[pos.y + i]) != 0)
					return pos = bak;
		}
		function rotate(r) {
			var f = dia[pos.s = (pos.s + r) % dia.length];
			for (var i = 0; i < 4; i++)
				pos.fk[i] = (f >> (12 - i * 4) & 15) << pos.x;
			update(is());
		}
		function down() {
			++pos.y;
			if (is()) {
				for (var i = 0; i < 4 && pos.y + i < 22; i++)
					if ((map[pos.y + i] |= pos.fk[i]) == 0xfff)
						map.splice(pos.y + i, 1), map.unshift(0x801);
				if (map[1] != 0x801)
					return over();
				start();
			}
			update();
		}
		function move(t, k) {
			pos.x += k;
			for (var i = 0; i < 4; i++)
				pos.fk[i] *= t;
			update(is());
		}
		document.onkeydown = function(e) {
			eval(keycom[(e ? e : event).keyCode]);
		};
		start();
		run = setInterval("down()", 400);
	</script>
</body>

</HTML>

register.html:
<!DOCTYPE html>
<html>
<head>
<title>register.html</title>
<meta name="keywords" content="keyword1,keyword2,keyword3">
<meta name="description" content="this is my page">
<meta name="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
	<form action="RegisterServlet" method="post">
		<table>
			<tr>
				<td>Login:</td>
				<td><input type="text" name="login" id="login" size="20"></td>
			</tr>
			<tr>
				<td>Password:</td>
				<td><input type="password" name="password" id="password"
					size="20"></td>
			</tr>
			<tr>
				<td colspan="3"><input type="submit" name="register"> <input
					type="reset" name="reset"></td>
			</tr>
		</table>
	</form>
</body>
</html>

LoginServlet.java:
import java.io.*;

import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bean.ConnectionBean;
import bean.userBean;

/**
 * @author Svitter
 *
 */
@SuppressWarnings("serial")
public class  LoginServlet extends HttpServlet {
	userBean user =  new userBean();
	ConnectionBean connBean = new ConnectionBean();
	public void doPost(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		String checkLogin;
		String username = request.getParameter("login");
		String password = request.getParameter("password");
		checkLogin = connBean.checkUser(username, password);
		if(checkLogin.equals("Success")) {
			user.setUserName(username);
			request.setAttribute("user", user);
			getServletConfig().getServletContext().getRequestDispatcher("/loginsuccess.jsp").forward(request, response);
		} else {
			request.setAttribute("checkLogin", checkLogin);
			getServletConfig().getServletContext().getRequestDispatcher("/loginCheck.jsp").forward(request, response);
		}
	}
	public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException{
		doPost(request, response);
	}
}

RegisterServlet.java:
import java.io.*;

import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bean.ConnectionBean;
import bean.userBean;

/**
 * @author Svitter
 *
 */
@SuppressWarnings("serial")
public class  RegisterServlet extends HttpServlet {
	userBean user =  new userBean();
	ConnectionBean connBean = new ConnectionBean();
	public void doPost(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		String username = request.getParameter("login");
		String password = request.getParameter("password");
		connBean.addUser(username, password);
		getServletConfig().getServletContext().getRequestDispatcher("/login.html").forward(request, response);
	}
	public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException{
		doPost(request, response);
		}
}

太多了不貼了。。詳見我的資源。。

相關推薦

JSP_實現Servlet登陸註冊連結Mysql資料庫

也是一個MVC的例項 user.sql: -- phpMyAdmin SQL Dump -- version phpStudy 2014 -- http://www.phpmyadmin.net -- -- 主機: localhost -- 生成日期: 2014 年

實現網站的登陸註冊查看商品詳細信息加入購物車註銷登陸等簡單功能

如果 進入 enc 獲取請求參數 一個 ota ati dispatch 轉發 創建一個LoginFilter攔截器 @WebFilter("*.do")// 攔截需要進行登陸校驗的請求 /home /addCart.do /myCart.do /login

基於java的微信小程式的實現(三)登入註冊注小程式端的實現

1.微信小程式專案結構認識 js檔案用來寫相關的邏輯操作,主要是用來操作資料 json檔案用來寫一些相關的配置 wxss相當於css用來寫頁面樣式 wxml相當於html用來寫頁面的元素的 pages資料夾中可以存放多個資料夾,每個資料夾裡面都是一套是js,json

基於java的微信小程式的實現(二)登入註冊登出介面的實現

1.開發工具以及相關環境的配置 1.首先關於IDE,前端小程式端採用的是微信官方的微信開發者工具,後端使用的是idea(idea是真的智慧,再也不想回去eclipse了呢),關於前端的一些程式碼,主要是參照微信官方的API進行開發的,整體的檔案結構也和js,css,html也很相似。

使用Java實現單向連結串列並完成連結串列反轉

使用Java實現單向連結串列,並完成連結串列反轉。 演算法和資料結構是程式設計師逃不過的一個坎,所以趁著閒餘時間,開始學習基礎的演算法和資料結構。這裡記錄下自己實現簡單的單項鍊表的過程,如有錯誤,敬請指正。 明確需求 在Java中,常用的資料容器裡面,跟連結串列關係緊密的當屬

android下的XMPP對應smack-4.2.1實現登入註冊發單聊加聊天室發群聊等簡單功能

1.API地址:點選開啟連結 2.openfire,spark下載:點選開啟連結 3.效果圖 4.引用的JAR: compile files('libs/fscontext.jar') compile files('libs/providerutil

wex5 教程 之 圖文講解 登陸註冊頁面跳轉

一.效果預覽:       登陸頁面   首頁用windowContainer裝載                  註冊頁面                               登陸成功後,跳轉至主題頁面         二 設計思路及程式碼實現:    

登出註冊校驗功能開發

用戶 登出 think logout isn 實現 ssi keys response Ctrl+T:進入實現類 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-/

關於Spring Cloud Eureka對服務的上下線監控(重點)續約註冊啟動等

關於Spring Cloud Eureka對服務的上下線監控(重點),續約,註冊,啟動等 專案上監聽各個服務宕機後的資訊,提供eureka的5個監聽器 EurekaInstanceCanceledEvent 服務下線事件 EurekaInstanceRegisteredEvent 服務註

Spring的IOC容器原始碼學習----Bean的定位載入解析註冊注入

目錄 IOC容器系列包含BeanFactory和ApplicationContext,這兩個介面就是IOC的具體表現形式。 他們的介面關係設計圖如下所示: 主要介面設計主線:    1.BeanFactory -> Hierarc

教你前端如何一個人從零基礎開發完整的小程式專案包括後臺視覺化資料庫該專案實現了個人簡歷的增刪改查以及展示和轉發分享以及收藏他人簡歷和檢視還有最近瀏覽過的簡歷

GitHub:https://github.com/susuGirl/resume 微信小程式名:你的專屬簡歷(微信可直接搜尋出來檢視),教你前端如何一個人從零基礎開發完整的小程式專案,包括後臺視覺化資料庫。該專案實現了個人簡歷的增刪改查以及展示和轉發分享,以及收藏他人簡歷和檢視,還

SpringBoot整合POI實現檔案匯出Excel匯入Excel更新Mysql資料庫資料

        上傳功能 轉載自https://blog.csdn.net/xyy1028/article/details/79054749原創寫的非常好,但是每個人都有自己的業務邏輯;所以在研究了一點之後,打上註釋,方便新手理解,同時也方便自己記憶;專案目錄applicat

用AJAX實現頁面登陸以及註冊使用者名稱驗證

       AJAX即“Asynchronous Javascript And XML”(非同步JavaScript和XML),是指一種建立互動式網頁應用的網頁開發技術。        AJAX

(轉)一次血的教訓阿里雲rds mysql 資料庫本地化並日志恢復已刪除的兩天資料

原文連結 參考阿里雲幫助文件 案例背景,勿刪公司線上資料庫使用者表(阿里去rds mysql),情急之下,將其恢復至最近備份(兩天前,阿里雲自動備份策略),恢復完後的第二天發現,備份與刪庫期間有些資料是重要且有用的,於是領導強烈希望能恢復期間資料,以減少公司損失,

通過windows伺服器定時任務定時備份mysql資料庫

為了防止伺服器宕機,導致mysql資料庫損壞無法修復,所以每天定時進行備份。一旦有問題直接還原資料庫! 50多個G的資料庫備份完成sql大概在20G,通過壓縮後大概在2G左右。 長時間進行後硬碟吃不消。所以做了一個定時清理備份檔案的指令碼。 點此進入下一篇文章->精簡mysql

除錯環境python3.6除錯python操作mysql資料庫

python3.6下程式碼如下 #coding:utf-8 #python3.6使用pymysql操作mysql print("=====================mysql資料庫=====================") import pymysql.cursors # 連

微信小程式名:你的專屬簡歷(微信可直接搜尋出來檢視)教你前端如何一個人從零基礎開發完整的小程式專案包括後臺視覺化資料庫

微信小程式名:你的專屬簡歷(微信可直接搜尋出來檢視),教你前端如何一個人從零基礎開發完整的小程式專案,包括後臺視覺化資料庫。該專案實現了個人簡歷的增刪改查以及展示和轉發分享,以及收藏他人簡歷和檢視,還有最近瀏覽過的簡歷。 教程: GitHub:https://github.com/sus

python生成啟用碼並儲存在MySQL資料庫

# coding=utf-8 import string, random import MySQLdb #取所有的字母(包括大小寫)和數字 field = string.letters + string.digits #得到一個隨機字串(長度為4) def getRandom

那些年我們用過的資料庫

文章轉載自「開發者圓桌」一個關於開發者入門、進階、踩坑的微信公眾號 2016年資料庫盤點 說到盤點,首先肯定得看看DB-Engines的全球資料庫排名。下表是2017年1月份前20名資料庫引擎最新排名。 DB-Engines這個排名在業界引用得非常多,

Spark查詢某個IP的歸屬地二分演算法try{}catch{}的使用將結果存MySQL資料庫

1、建立Maven工程 2、編寫Pom檔案 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"