添加和更新用戶代碼:
創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計(jì),連城網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:連城等地區(qū)。連城做網(wǎng)站價(jià)格咨詢:028-86922220
……
else if(method.equals("manager")){ //判斷提交的action中的method是否是manager
String username2 = (String)session.getAttribute("user"); //接受到session里存放的user
if(username2 == null){ //判斷用戶名是否為空
request.getRequestDispatcher("error.jsp").forward(request, response); //如果用戶名為空則跳轉(zhuǎn)到error.jsp頁面
}
else{
String ra = request.getParameter("ra").trim(); //獲得請(qǐng)求中為ra的值
if(ra.equals("add")){ //判讀ra是否是add
String username = request.getParameter("username").trim(); //接受用戶名
String password = MD5.MD5(request.getParameter("password").trim()); //接受用戶密碼并進(jìn)行MD5加密
String isuse = request.getParameter("isuse").trim(); //接受用戶的狀態(tài)
if(isuse.equals("在用")) //判斷isuse的狀態(tài)是否是“再用”
isuse = "1"; //如果isuse的狀態(tài)是“再用” 賦值給isuse為1
else
isuse = "2"; //如果isuse的狀態(tài)不是“再用” 賦值給isuse為2
int flag = loginbean.addManager(username, password, "2", isuse); //定義flag 用來記錄 addManager方法是否正確執(zhí)行
if(flag == Constant.SUCCESS){ //根據(jù)flag值 判斷添加管理員是否成功 如果flag值與Constant.SUCCESS相同則添加成功
request.setAttribute("message", "增加管理員成功!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
else if(flag == Constant.SAME_NAME){ //根據(jù)flag值 判斷添加管理員是否成功 如果flag值與Constant.SAME_NAME相同則表示用戶名已經(jīng)存在
request.setAttribute("username", username);
request.setAttribute("message", "該用戶名已經(jīng)存在!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
else{ //根據(jù)flag值 判斷添加管理員是否成功 如果flag值既不與Constant.SUCCESS相同也不與Constant.SUCCESS相同 則添加失敗 返回信息:系統(tǒng)維護(hù)中
request.setAttribute("message", "系統(tǒng)維護(hù)中,請(qǐng)稍后再試!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
}
else if(ra.equals("update")){ //獲得請(qǐng)求中為ra的值 如果是update 修改
String username = request.getParameter("username").trim();
String password = request.getParameter("password").trim();
String isuse = request.getParameter("isuse").trim();
if(!password.equals("")){ //判斷用戶密碼 如果不為空 則經(jīng)過MD5加密
password = MD5.MD5(password);
}
if(isuse.equals("在用"))
isuse = "1";
else
isuse = "2";
int flag = loginbean.updateManager(username, password, "2", isuse); //根據(jù)flag值 判斷修改管理員是否成功
if(flag == Constant.SUCCESS){ //根據(jù)flag值 判斷修改管理員是否成功 如果flag值等于Constant.SUCCESS的值 則修改成功 跳轉(zhuǎn)到user.jsp頁面并提示 修改管理員信息成功
request.setAttribute("message", "修改管理員信息成功!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
}
else{ //根據(jù)flag值 判斷修改管理員是否成功 如果flag值不等于Constant.SUCCESS的值 則修改不成功 跳轉(zhuǎn)到user.jsp頁面并提示 系統(tǒng)維護(hù)中,請(qǐng)稍后再試!
request.setAttribute("message", "系統(tǒng)維護(hù)中,請(qǐng)稍后再試!");
request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request, response);
學(xué)會(huì)在idea(eclipse)中閱讀、調(diào)試源碼,是java程序員必不可少的一項(xiàng)技能。
在idea中配完環(huán)境后,默認(rèn)其實(shí)也是能夠?qū)dk的源碼進(jìn)行debug調(diào)試的。但是無法在源碼中添加自己的注釋,無法添加自己的理解。如果干瞪眼看的話,可能過段時(shí)間,就忘記了。下面就介紹下,如何在jdk源碼中為所欲為,像在我們自己的代碼中一樣寫注釋、調(diào)代碼:
打開idea,選擇Project-File-Project Structure-SDKs-Sourcepath,初始狀態(tài)如下圖 :
打開本地jdk安裝路徑,本處為E:\java\jdk8,將此路徑下的src.zip壓縮包解壓到自定義的指定文件夾(可以在電腦磁盤任意位置),本處解壓到同目錄的jdk_source文件夾下,如下圖:
繼續(xù)在步驟1中的設(shè)置頁面中操作,將E:\java\jdk8\src.zip通過右側(cè)的減號(hào)將其移除;并通過右側(cè)的加號(hào),將解壓文件夾E:\java\jdk8\jdk_source導(dǎo)入進(jìn)來;點(diǎn)擊apply,再點(diǎn)擊OK。導(dǎo)入結(jié)果見下圖:
這時(shí),再重新打開jdk的源碼類,我們就可以在源java文件中,添加自己的注釋了。
一定注意:添加注釋時(shí),一定不要新加一行寫注釋。最好在一行代碼的后面,使用//進(jìn)行注釋。否則行號(hào)和真正的jre中編譯后的代碼行號(hào)對(duì)應(yīng)不上,如果對(duì)源碼debug時(shí),會(huì)出現(xiàn)代碼運(yùn)行和行號(hào)不匹配的情況
public?class?Test{
public?static?String?output="?";
public?static?void?foo(int?i){
try{
if(i==1){
throw?new?Exception();//如果參數(shù)為1,拋出異常,進(jìn)入到catch
}
output+="1";
}catch(Exception?e){
output+="2";//如果參數(shù)為1,執(zhí)行這里
return;
}finally{
output+="3";//不管怎樣這里都要執(zhí)行
}
output+="4";//這里是最后一個(gè)執(zhí)行語句,拋出異常就不執(zhí)行這里
}
public?static?void?main(String[]?args){
foo(0);//第一次調(diào)用
foo(1);//第二次調(diào)用
System.out.println(Test.output);
}
}
/*
*?現(xiàn)在說下執(zhí)行步驟:output的值我[]括起來
*?第一次調(diào)用foo(0):(1)參數(shù)為0,所以執(zhí)行output+="1",那么output現(xiàn)在為[?1];
*? ????(2)執(zhí)行到output+="3",那么output現(xiàn)在為[?13];
*? ????(3)執(zhí)行到output+="4";那么output現(xiàn)在為[?134]
*?第二次調(diào)用foo(1):(1)執(zhí)行if里面,拋出異常
*? ????(2)進(jìn)入到catch,執(zhí)行output+="2",output現(xiàn)在為[?1342]
*? ????(3)進(jìn)入finally,執(zhí)行output+="3", output現(xiàn)在為[?13423]
*/
package?com.lp.test;
public?class?StringTest?{
public?static?void?main(String[]?args)?{
//?TODO?code?application?logic?here
//打印main方法參數(shù)
if?(args.length??0)?{
for?(int?i?=?0;?i??args.length;?i++)?{
System.out.println(args[i]);
}
}?else?{
System.out.println("No?args.");
}
String?str?=?"12345";
//將str拆分為單個(gè)char輸出
for?(int?i?=?0;?i??str.length();?i++)?{
System.out.print(str.charAt(i)?+?"?");
}
System.out.println("");
//截取str前四位
str?=?str.substring(0,?4);
System.out.println(str);
//將截取后的str與"77777"進(jìn)行拼接
str?=?str.concat("77777");
System.out.println(str);
//輸出7在str中第一次出現(xiàn)的位置
int?index?=?str.indexOf('7');
System.out.println(index);
//獲取7在str中最后一次出現(xiàn)的位置
int?lastIndex?=?str.lastIndexOf('7');
System.out.println(lastIndex);
//將str中的7全部換為6
str?=?str.replace('7',?'6');
System.out.println(str);
//將str中第一次出現(xiàn)的"6666"置換為"5"
str?=?str.replaceAll("6666",?"5");
System.out.println(str);
//初始化一個(gè)包含"12345"的字符串緩沖對(duì)象
StringBuilder?strb?=?new?StringBuilder("12345");
//循環(huán)輸出字符串緩沖對(duì)象的內(nèi)容
for?(int?i?=?0;?i??strb.length();?i++)?{
System.out.print(strb.charAt(i)?+?"?");
}
System.out.println("");
//刪除strb中索引為4的字符
strb.deleteCharAt(4);
System.out.println(strb);
//在刪除字符后的strb中拼接"77777"
strb.append("77777");
System.out.println(strb);
//在索引為4芳容位置上插入"56";
strb.insert(4,?"56");
System.out.println(strb);
//顛倒strb中的字符順序
strb.reverse();
System.out.println(strb);
String?hello?=?"HelloWord";
//將hello字符串轉(zhuǎn)換為全小寫
System.out.println(hello.toLowerCase());
//將hello字符串轉(zhuǎn)換為全大寫
System.out.println(hello.toUpperCase());
}
}