import java.io.BufferedReader;
10年積累的成都網(wǎng)站設(shè)計、成都做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有玄武免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class TestString {
public static void main(String[] args) throws IOException {
boolean flag = false;
do {
System.out.println();
System.out.println("Do you want to continue?(Y/N)");
Scanner scan = new Scanner(System.in);
String banlance = scan.next();
if (banlance.equals("Y")) {
flag = true;
} else if(banlance.equals("N")) {
System.out.println("End!");
break;
} else {
System.out.println("Error Input!");
}
System.out.print("Please input the String: ");
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
String str = br.readLine();
StringBuffer strBuffer = new StringBuffer(str);
for(int i=0; istrBuffer.length(); i++) {//將元音字母先刪掉
char c = strBuffer.charAt(i);
if ((c == 'a') || (c == 'e') || (c == 'i') || (c == 'o') || (c == 'u')) {
strBuffer = strBuffer.deleteCharAt(i);
--i;
}
}
for(int i=0,j=i+1; jstrBuffer.length(); i++,j++) {//處理重復(fù)輔音字母
char c1 = strBuffer.charAt(i), c2 = strBuffer.charAt(j);
if(c1 == c2) {
strBuffer = strBuffer.deleteCharAt(i);
--i;
--j;
}
}
System.out.println(strBuffer);
} while (flag = true);
}
}
測試與結(jié)果:
你可以在注冊成功的時候,把資料保存到數(shù)據(jù)庫,然后執(zhí)行sql的使用會有影響行數(shù)的嘛。當(dāng)影響行數(shù)為1的時候就把該對象放在session中
效果圖
代碼
!DOCTYPE?html
html
head
meta?charset="UTF-8"
title先鋒圖書館管理系統(tǒng)-登錄/title
style
*{
margin:?0;
padding:?0;
list-style:?none;
}
#top{
width:?1000px;
height:?95px;
margin:?0?auto;
margin-top:?25px;
}
#top_top{
width:?1000px;
height:?65px;
background:?deepskyblue;
}
#top_top_left{
width:?300px;
height:?65px;
float:?left;
}
#top_top_leftlabel{
width:?200px;
height:?65px;
color:?white;
float:?right;
}
#top_top_left#a2{
padding-left:?10px;
padding-top:?20px;
font-size:?16px;
}
#top_bottom{
width:?1000px;
height:?30px;
}
#top_bottom_left{
width:?340px;
height:?30px;
line-height:?30px;
font-size:?12px;
background:?skyblue;
color:?white;
text-indent:?2em;
float:?left;
}
#top_bottom_right{
width:?660px;
height:?30px;
line-height:?30px;
font-size:?12px;
color:?blueviolet;
text-align:?center;
float:?right;
background:?lightskyblue;
}
#content{
width:?1000px;
height:?600px;
margin:?0?auto;
background:#587FBA;
}
#content#text{
width:?1000px;
height:?50px;
line-height:?50px;
padding-top:?100px;
font-size:?36px;
font-family:"楷體";
font-weight:?bold;
text-align:?center;
}
#content#login{
width:?480px;
height:?210px;
margin-top:?20px;
margin-left:?260px;
background:?#85A0CB;
}
#content#loginimg{
float:?left;
}
#content#login#select{
width:?305px;
height:?210px;
float:?right;
}
#content#login#selectdiv{
width:?230;
height:?30px;
margin-left:?30px;
}
#content#login#select#d1{
margin-top:30px;
margin-bottom:?3px;
}
#content#login#selectp{
font-size:?14px;
margin-left:?95px;
}
#bottom{
width:?1000px;
height:?35px;
line-height:?35px;
margin:?0?auto;
background:?deepskyblue;
text-align:?center;
color:?white;
}
/style
/head
body
div?id="top"
div?id="top_top"
div?id="top_top_left"
img?src="img/test/a13.png"?width="78px"?height="65px"label?id="a2"先鋒圖書館系統(tǒng)管理平臺/label
/div
/div
div?id="top_bottom"
div?id="top_bottom_left"當(dāng)前位置?:?首頁??系統(tǒng)管理??登錄/div
div?id="top_bottom_right"當(dāng)前時間?:?label?id="lable"/label/div
/div
/div
div?id="content"
div?id="text"歡迎登錄先鋒圖書館管理系統(tǒng)/div
div?id="login"
img?src="img/test/a14.png"??width="175px"?height="210px"/
form?id="select"
div?id="d1"用戶名:?nbsp;nbsp;input?type="text"?//div
div密????nbsp;?碼:?nbsp;nbsp;input?type="password"?//div
p
input?type="radio"?name="user"?value="read"/讀者nbsp;nbsp;nbsp;nbsp;
input?type="radio"?name="user"?value="admin"/管理員
/pbr/
p
input?type="button"?value="確定"?style="width:?50px;"?onclick="put()"/nbsp;nbsp;nbsp;nbsp;
input?type="reset"?value="重置"?style="width:?50px;"/
/p
/form
/div
/div
div?id="bottom"欣欣科技有限公司版權(quán)所有/div
/body
script?type="text/javascript"?src="JQuery/jquery.js"/script
script?type="text/javascript"?src="js/GetCurrentTime.js"/script
script
//驗證用戶名和密碼
function?put(){
var?d?=?$("#selectdivinput");//獲取用戶名和密碼
var?name?=?d[0].value;
var?pass?=?d[1].value;
var?user?=?null;
var?r?=?document.getElementsByName("user");//獲取用戶類型
for(i=0;ir.length;i++){
if(r[i].checked){
user=r[i].value;
}
}
//console.log(name?+?","?+pass?+?","?+user);//輸出測試
if(user==null){
window.alert("請選擇用戶類型!");
}else?if(user=="admin"??name!="admin"){
window.alter("用戶名錯誤!");
}else?if(user=="admin"??name=="admin"??pass!="123456"){
window.alert("密碼錯誤!");
}else?if(name=="admin"??pass=="123456"??user=="admin"){
window.location.href="work_02_welcome.html";//在js中在本頁面中打開新鏈接
}else{
window.alert("用戶名錯誤");
}
}
/script
/html
性能測試中示例代碼使用java批量注冊登錄賬戶。
性能測試過程中所需的測試數(shù)據(jù),以登錄為例,為了更真實的模 批量讀取注冊。
Java登錄注冊功能實現(xiàn)代碼解析,文中通示例代碼,每個用戶信息都是唯一的,所以可以借助Set的特性來操作用戶信息的存放。
本系統(tǒng)分為兩個功能:
注冊和登錄,
當(dāng)用戶注冊一個新用戶時
(可以使用英
文和中文用戶名)
,就是向數(shù)據(jù)庫的
user
表中添加一條記錄。
當(dāng)用戶輸入注冊信息時,
本系統(tǒng)提供了基本的客戶端驗證,
來判斷用戶輸入
的合法性,
只有當(dāng)用戶的輸入滿足系統(tǒng)的要求時,
才會將用戶輸入的數(shù)據(jù)提交到
服務(wù)器端負(fù)責(zé)處理注冊信息的
Action
。
在注冊
Action
成功處理完用戶提交的注
冊信息后,
客戶端仍然會回到注冊頁面。
如果用戶想使用已經(jīng)注冊的用戶名來登
錄,可以通過單擊“登錄”超鏈接轉(zhuǎn)到登錄頁面進行登錄。
當(dāng)用戶在登錄頁面正確輸入在數(shù)據(jù)庫中已經(jīng)存在的用戶名和密碼時,
就可以
成功登錄了。
在用戶登錄頁面也擁有和用戶注冊頁面類似的客戶端驗證機制。
也
就是說,
只有當(dāng)用戶名和密碼都輸入時,
系統(tǒng)才會向服務(wù)器端負(fù)責(zé)登錄的
Action
提交信息。通過驗證用戶名和密碼都正確,系統(tǒng)才允許登錄。
系統(tǒng)總體結(jié)構(gòu)
本系統(tǒng)的注冊系統(tǒng)和登錄系統(tǒng)是相互獨立的,
但可以通過使用注冊和登錄系
統(tǒng)的相應(yīng)超鏈接導(dǎo)航到另一個系統(tǒng)中。每一個系統(tǒng)分別由一個處理業(yè)務(wù)邏輯的
Action
、
DAO
層代碼和若干個
JSP
頁面組成。其中注冊系統(tǒng)的
Action
是
RegisterAction
類,
另外還有一個用于顯示用戶注冊頁面的
register.jsp
文件
和
一
個
負(fù)
責(zé)
顯
示
處
理
結(jié)
果
的
result.jsp
文
件
。
登
錄
系
統(tǒng)
的
Action
是
LoginAction
類,
另外還有一個
login.jsp
文件和一個表示用戶已經(jīng)成功登錄的
success.jsp
文件
3
、
實
現(xiàn)系統(tǒng)的基礎(chǔ)類
在這一部分內(nèi)容中將實現(xiàn)在注冊登錄系統(tǒng)中使用的一些重要的類,
如用于操
作數(shù)據(jù)庫的
UserDAO
接口及其實現(xiàn)類。
這些類在整個系統(tǒng)中都起著舉足輕重的作
用。
3.1
實現(xiàn)訪問數(shù)據(jù)庫的
UserDAO
類
UserDAO
實際上是一個接口,
由于注冊系統(tǒng)和登錄系統(tǒng)都需要訪問和操作數(shù)
據(jù)庫,
因此,
將這些功能都封裝在
UserDAO
接口中,
然后
UserDAOImpl
類對該接
口進行實現(xiàn),這樣,在
LoginAction
類和
RegisterAction
類的類體中添加
UserDAO
類型的屬性,這兩個
Action
就都可以訪問和操作數(shù)據(jù)庫了。
UserDAO
接口及其實現(xiàn)類有以下功能:
通過
HibernateTemplate
對數(shù)據(jù)庫進行連接和操作
對數(shù)據(jù)庫進行增刪查改操作。
執(zhí)行
hql
。
UserDAO接口和UserDAOImpl
類的實現(xiàn)代碼請查看UserDAO.java和UserDAOImpl.java文件。
實現(xiàn)MD5加密(選做)
本系統(tǒng)保存在數(shù)據(jù)庫中的密碼是通過
MD5
算法加密的。
在
JDK
中提供了實現(xiàn)
MD5
算法的類。
通過
java.security.MessageDigest
類的
getInstance
方法可以
獲得支持
MD5
算法的
MessageDigest
對象實例。關(guān)于
MD5
加密,詳見關(guān)于
MD5
加密
.doc
文檔。
由于被
MD5
算法加密后的字符串中可能含有非可視的字符,
這些字符可能無
法保存在數(shù)據(jù)庫中,因此,需要將被加密后的字符串再次使用
Base64
格式進行
編碼。實現(xiàn)
MD5
加密的完整代碼見
Encrypter.java
6
4
、
實現(xiàn)注冊系統(tǒng)
在這個系統(tǒng)中,有一個處理用戶提交的注冊信息的
RegisterAction
類,除
此之外,還有一個
register.jsp
,這個頁面負(fù)責(zé)顯示注冊頁面。當(dāng)
Register
類
處理完注冊信息后,
如果注冊成功,
會轉(zhuǎn)向
result.jsp
頁面,
如果注冊不成功,
則直接返回
register.jsp,
可以重新注冊。
1.
實現(xiàn)注冊
RegisterAction
類
RegisterAction
類負(fù)責(zé)處理用戶提交的注冊信息。如果注冊信息正確,就
向
user
表中添加一條記錄,否則,會通過消息對話框顯示出現(xiàn)消息。
在開始處理用戶注冊信息之前,
需要先在
RegisterAction
類中添加
userDAO
屬性,這樣通過該屬性就可以對數(shù)據(jù)庫進行操作。然后向
user
表中插入記錄之
前,
需要先判斷一下用戶輸入的用戶名或者密碼是否有效,
如果用戶名和密碼輸
入都合法,
就調(diào)用
userDAO
屬性的
save
方法向
user
表中根據(jù)用戶輸入的信息插
入一條記錄。如果無法成功插入記錄,說明該用戶名在
user
表中已經(jīng)存在了。
為了更穩(wěn)妥,
我們可以先使用
select
語句來查詢用戶名是否存在,
然后再向
user
表中插入記錄。
RegisterAction
類的完整代碼見
RegisterAction.java
。
2.
實現(xiàn)注冊系統(tǒng)的主頁面
Register.jsp
頁面是顯示了用戶輸入注冊信息的頁面。
在
register.jsp
中
使用
form
向Register類提交注冊信息。
register.jsp頁面的代碼見
register.jsp
。
3.
實現(xiàn)結(jié)果
JSP頁面
在Register類處理完注冊信息后,如果注冊成功,就會轉(zhuǎn)向到result.jsp頁面。
這個頁面顯示了注冊成功的結(jié)果,并且可以直接通過超鏈,轉(zhuǎn)向到登錄頁面login.jsp
文章標(biāo)題:java注冊功能完整代碼 java注冊機代碼
當(dāng)前網(wǎng)址:http://muchs.cn/article0/doccpio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、面包屑導(dǎo)航、企業(yè)建站、全網(wǎng)營銷推廣、自適應(yīng)網(wǎng)站、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)