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"