真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java實現(xiàn)用戶管理代碼 用戶權(quán)限管理系統(tǒng)java

java用戶管理的代碼中查詢不了是哪出問題了

一)[DLS_DEAD_LOCAL_STORE]

創(chuàng)新互聯(lián)建站IDC提供業(yè)務(wù):香港機房服務(wù)器托管,成都服務(wù)器租用,香港機房服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機托管與主機租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機房,BGP機房,電信機房,移動機房,聯(lián)通機房。

描述: Dead store to 未使用的局部變量

解決方法:局部變量定義后未使用;實例化對象后又重新對該對象賦值

(二) [ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD]

描述:Write to static field 通過實例方法更新靜態(tài)屬性

常見于常量類,直接通過類名.常量名獲取的方式違背了封裝的原則,findbugs不提倡使用,而如果將常量改成靜態(tài)成員變量,又因為spring不支持靜態(tài)注入導(dǎo)致不能實現(xiàn),解決方法是非靜態(tài)的setter調(diào)用靜態(tài)的setter方法給靜態(tài)成員變量賦值。

解決方法:

常量類F:

class F{

public static String a = “123”;

}

常量a改為靜態(tài)成員變量,通過F.getA()獲取,且由于spring不支持靜態(tài)注入,改為:

class F{

private static String a;

public static Integer getA() {

return a;

}

public void setA(String a) {

setAValue(a);

}

public static void setAValue(String a) {

F.a = a;

}

}

(三) [BX_UNBOXING_IMMEDIATELY_REBOXED]

描述: Boxed value is unboxed and then immediately reboxed 裝箱的值被拆箱,然后立刻重新裝箱了

常見的是三目運算時,同時存在基本類型和包裝類型。

解決方法:

Integer a = null;

//...

a = (a == null)?0:a;

此問題在于a不為null時,會被拆箱,賦值時再裝箱。這是自動裝箱拆箱的特性,只要運算中有不同類型,當(dāng)涉及到類型轉(zhuǎn)換時,編譯器就會向下轉(zhuǎn)型,再進行運算。修改方法,統(tǒng)一類型:

Integer a = null;

//...

a = (a == null)?Integer.valueOf(0):a;

(四) [SE_BAD_FIELD]

描述: Non-transient non-serializable instance field in serializable class在可序列化的類中存在不能序列化或者不能暫存的數(shù)據(jù)

解決方法:

方法1:序列化該對象

方法2:當(dāng)采用struts2框架開發(fā),不可避免的此問題會大量出現(xiàn),因為ActionSupport實現(xiàn)了序列化接口,action繼承了此類,而 service沒序列化,所以在action中引用service對象時提示此錯誤,最簡單的解決方法是將service對象聲明成transient, 即service不需要序列化

方法3(未驗證):To avoid java serialization you need to implement writeObject() and readObject() method in your Class and need to throw NotSerializableExceptionfrom those method.(action中實現(xiàn)這兩個方法?)

private void writeObject(java.io.ObjectOutputStream stream) throws java.io.IOException {

throw new java.io.NotSerializableException( getClass().getName() );

}

private void readObject(java.io.ObjectInputStream stream) throws java.io.IOException, ClassNotFoundException {

throw new java.io.NotSerializableException( getClass().getName() );

}

(五) [NP_LOAD_OF_KNOWN_NULL_VALUE]

描述: Load of known null value加載已知是null的值

解決方法:已知方法參數(shù)為null是,直接傳遞null而不是參數(shù)名

(六) [REC_CATCH_EXCEPTION]

描述: Exception is caught when Exception is not thrown 過泛地捕獲異?;虿东@異常后未做任何處理

解決方法:異常分類捕獲(至少要打印出此異常對象)

(七) [NP_NULL_PARAM_DEREF]

描述: Null passed for nonnull parameter 把空值傳給了非空的參數(shù)

解決方法:增加非空判斷

(八) [NP_IMMEDIATE_DEREFERENCE_OF_READLINE]

描述: Immediate dereference of the result of readLine() 立即引用了readLine()的結(jié)果

解決方法:判斷readLine的結(jié)果是否為空

(九) [EI_EXPOSE_REP] 惡意代碼漏洞

描述:may expose internal representation by returning getter方法返回引用類型

eclipse自動生成的引用類型(Object、數(shù)組、Date等)的getter、setter方法會得到或通過對可變對象的引用操作而暴露代碼內(nèi)部實現(xiàn),解決方法很多,只要返回的或賦值的對象不是原引用對象即可。

解決方法:

以Date類型為例:

public Date getHappenTime() {

if(happenTime != null){

return (Date) happenTime.clone();

}

return null;

}

(十) [ EI_EXPOSE_REP2] 惡意代碼漏洞

描述:may expose internal representation by storing an externally mutable object into setter方法返回引用類型

eclipse自動生成的引用類型(Object、數(shù)組、Date等)的getter、setter方法會得到或通過對可變對象的引用操作而暴露代碼內(nèi)部實現(xiàn),解決方法很多,只要返回的或賦值的對象不是原引用對象即可。

解決方法:

以Date類型為例:

public void setHappenTime(Date happenTime) {

if(happenTime != null){

this.happenTime = (Date) happenTime.clone();

}else{

this.happenTime = null;

}

}

JAVA編寫個用戶管理系統(tǒng)(權(quán)限控制到按鈕) 要能連接到數(shù)據(jù)庫!

你的邏輯有問題,labelName不能同時是'你很好'而且'你好'的,所以你的為空是正常的,我改了一個,你看看。

SELECT * FROM forum LEFT JOIN related ON forum.id = related.forumid LEFT JOIN label ON label.id = related.labelid

WHERE label.labelName = '你好' OR label.labelName = '你很好' OR label.labelName = '你不好';

用java編寫一個用戶信息管理器

import?java.util.ArrayList;

import?java.util.List;

import?java.util.Scanner;

/**

*?

*?@author?young

*

*/

class?User{

private?String?no;

private?String?name;

private?int?age;

private?String?add;

public?String?getNo()?{

return?no;

}

public?void?setNo(String?no)?{

this.no?=?no;

}

public?String?getName()?{

return?name;

}

public?void?setName(String?name)?{

this.name?=?name;

}

public?int?getAge()?{

return?age;

}

public?void?setAge(int?age)?{

this.age?=?age;

}

public?String?getAdd()?{

return?add;

}

public?void?setAdd(String?add)?{

this.add?=?add;

}

}

public?class?Test?{

//?增加

public?static?ArrayListUser?addUser(){

ListUser?list?=?new?ArrayListUser();

User?u?=?new?User();

Scanner?sc?=?new?Scanner(System.in);

System.out.print("輸入?no:?");

u.setNo(sc.nextLine());

System.out.print("輸入name:?");

u.setName(sc.nextLine());

System.out.print("輸入add:?");

u.setAdd(sc.nextLine());

System.out.print("輸入age:?");

u.setAge(sc.nextInt());

list.add(u);

return?(ArrayListUser)?list;

}

//?修改

public?static?void?updateUser(String?name,?ListUser?list){

Scanner?sc?=?new?Scanner(System.in);

boolean?isExist?=?false;

for(int?i?=?0;?i??list.size();?i++){

if(name.equals(list.get(i).getName())){

isExist?=?true;

System.out.print("輸入新?no:?");

list.get(i).setNo(sc.nextLine());

System.out.print("輸入新name:?");

list.get(i).setName(sc.nextLine());

System.out.print("輸入新add:?");

list.get(i).setAdd(sc.nextLine());

System.out.print("輸入新age:?");

list.get(i).setAge(sc.nextInt());

}

}

if(isExist?==?false){

System.out.println("不存在該用戶");

}

}

//?查找

public?static?void?findUser(String?name,?ListUser?list){

boolean?isExist?=?false;

for(int?i?=?0;?i??list.size();?i++){

if(name.equals(list.get(i).getName())){

isExist?=?true;

System.out.println("用戶編號:?"?+?list.get(i).getNo()

+?".?姓名:?"?+?list.get(i).getName()

+?".?地址:?"?+?list.get(i).getAdd()

+?".?年齡:?"?+?list.get(i).getAge());

}

}

if(isExist?==?false){

System.out.println("不存在該用戶");

}

}

//?刪除

public?static?void?delUser(String?name,?ListUser?list)?{

boolean?isExist?=?false;

for?(int?i?=?0;?i??list.size();?i++)?{

if?(name.equals(list.get(i).getName()))?{

isExist?=?true;

list.remove(i);

System.out.println("該用戶已刪除");

}

}

if?(isExist?==?false)?{

System.out.println("不存在該用戶");

}

}

public?static?void?main(String[]?args)?{

Scanner?sc?=?new?Scanner(System.in);

ListUser?list?=?new?ArrayListUser();

int?i?=?0;

while(true){

System.out.println("輸入你的選擇:?1.增加\t2.查找\t3.修改\t4.刪除\t0.退出");

i?=?sc.nextInt();

switch?(i)?{

case?1:

list?=?addUser();

break;

case?2:

System.out.print("輸入要查找的用戶名:?");

String?name?=?sc.next();

findUser(name,?list);

break;

case?3:

System.out.print("輸入要修改的用戶名:?");

String?n?=?sc.next();

updateUser(n,?list);

break;

case?4:

System.out.print("輸入要刪除的用戶名:?");

String?na?=?sc.next();

delUser(na,?list);

break;

case?0:

System.out.println("程序結(jié)束!");

System.exit(0);

break;

}

}

}

}


分享名稱:java實現(xiàn)用戶管理代碼 用戶權(quán)限管理系統(tǒng)java
網(wǎng)站URL:http://weahome.cn/article/dddgshj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部