天天看點

Java Web開發- Bug和程式設計記錄

1、空指針/500

  • 原因和解決辦法:

    -if (“orderByClicks”.equals(flag)) {這麼寫沒事

    -if (flag.equals(“orderByClicks”)) {這麼寫報錯500,空指針

    -看來左值必須是确定的值,而不是未确定的變量

2、servlet連接配接mysql資料庫的空指針問題

在WEB-INF檔案夾下的lib例添加jdbc的jar包,

String url = “jdbc:mysql://localhost:3306/cmx?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT”;

3、建立一個Java web項目後,忘記選·Generate web.xml deployment descriptor選項或者删了

可右鍵項目,選擇JavaEE tools,選擇“Generate Deployment Descriptor Stub”,會生成預設的web.xml檔案

4、java變量傳給

js:var a=”<%=javaParam%>“;

5、js擷取class的方法

周遊該class元素

for (var i = 0; i < l.length; i++) { 
	l[i].style.color = "grey"; 
}
           

6、js中innerHTML的用法:

擷取元素的内容:

element.innerHTML;

給元素設定内容:

element.innerHTML =htmlString;

7、Ajax異步調用

Java代碼

String book_name = request.getParameter("book_name");//擷取參數
           

js代碼

function add_shopping_cart() {
                var book_name = document.getElementById("book_name").value;
                $.ajax({
                    type: "post",
                    dataType: "text",
                    data: {},
                    url: 'addShoppingCartServlet?book_name="' + book_name + '"', //目标位址

                    success: function (msg) {
                        alert(msg);
                    },
                });
            }
           

8、css的屬性轉換為js文法的document.getElementById(“xx”).style.xxx;的屬性,總結就是把-去掉,第二個單詞的字母大寫

9、頁面加載完畢後執行的函數

10、有一些複制的錯誤就是複制的過程中沒有改變量名,導緻某些函數接收不到值等

11、很多時候js的錯誤不給提示,直接功能失效,難以定位,這種時候的錯誤大多是文法錯誤,而不是邏輯錯誤

12、js的變量很難傳遞到java代碼中,是為了安全性

window.location = 'HomePage.jsp?objText=' + obj.innerHTML + '&hiddenTab="books_sort"';   
//頁面跳轉到目前頁面,并且傳遞參數決定目前頁面動态變化
           

13、出現非法的表達式要去看看上一行有沒有什麼錯誤

14、有servlet、過濾器等的的需要配置web.xml

<servlet>
        <servlet-name>SearchUserServlet</servlet-name>
        <servlet-class>maven_lab9_10.servlet.SearchUserServlet</servlet-class>
</servlet>   
<servlet-mapping>
        <servlet-name>SearchUsersServlet</servlet-name>
        <url-pattern>/searchUsersServlet</url-pattern>
 </servlet-mapping>
           

15、如果發生java heap xxxx 棧溢出,說明很有可能進入了死循環

16、jsp中 EL标簽擷取不到值,jsp的${user.username}取不到值

  • 解決方法:

    -标簽加入

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

    -jsp頁面都加入

    <%@ page isELIgnored="false" %>

    ,isELIgnored預設是true