javaWeb常見異常的解決方法
1.如果不能給屬性賦上值,就檢查getter 和 setter方法;
2.如果不能建立物件,檢查是否有空參的建構函式
3.注意文字需要去除回車、換行符,不然修改回顯資料時前端會報錯
4.用Json寫資料傳給前臺時,匯入的jar包不止json一個jar包,還需匯入其他包才可以成功構建類
5.後臺資料中文為出現亂碼,頁面設定字元也為UTF-8,但是前臺接收的資料中文出現亂碼——解決:response.setContentType("text/html;charset=utf-8")
6.當異常資訊提示為找不到對應的Method時,可能是表單沒有寫method=”get“ (或者post) ,JSP中的表單預設不知道為什麼沒有預設方法;如果是用反射呼叫方法時,說找不到對應的方法時,可能是方法的可見性(設為public 或者 其方法為Protect 就設定可見性為true)
7.Struts2 中配置驗證器 不起作用 --- 因為是自己新建一個xml檔案,所以並沒有複製Struts下的檔案內容,才會導致不起作用。當自己新建的xml檔案中 前面要增加這段
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"struts.apache.org/dtds/xwork-…">
8.當用Struts時,要注意表單各個域的名字,特別是在成員變數和當前物件具有同名屬性時。要麼把相同屬性名使用不同的屬性名,要麼就把 名字定義為成員變數的屬性名(object.property)
9.當在Struts2 中的action類實現了 ModelDriven 和 Preparable 介面,需要修改表單資訊時,有些沒有在修改表單的資料(如建立時間 或者 設定為 disable),如果在 prepareXxx方法中新new 一個 物件,那麼會造成修改資料庫時某些欄位值為空,解決辦法:
①把沒有的欄位通過隱藏域傳給後臺--- 當資料比較多時,會造成資料冗餘較大
②通過把物件從資料庫中取出,而不是 直接new一個新物件
9.在spring的配置檔案中,報錯: Cannot find the declaration of element 'beans'.
10.今天在用maven新增net.sf.json的jar包的時候,程式碼如下:
1 2 3 4 5 | <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> </dependency> |
1 | Missing artifact net.sf.json-lib:json-lib:jar:2.4:compile |
1 2 3 4 5 6 | <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> |
11.匯入了一個idea project ,編譯執行時候,提示Error:java: Compilation failed: internal java compiler error。檢視了model的jdk版本,無異常,其實只需設定Setting->Compiler->Java Compiler,發現有的module是1.7的是1.6的,選 下就好了