1、getParameter()和getAttribute()區別:
getParameter()
①一般用於獲取超鏈接中的參數,eg:http://localhost:8080/Jdbc/addUser?id=24
②用於獲取form表單中參數
getAttribute()
①設置屬性,一般會存在request.setAttribute(),然後才進行getAttribute();
2、HTML元素id和name區別:
①表單元素中只能用name,因爲獲取Parameter時要通過name
②腳本中通過id來定位獲取元素,css中通過id唯一匹配css文件
3、javax.servlet.RequestDispatcher接口
request.setAttribute("listUser", listUser); // 設置request屬性,附屬list屬性
RequestDispatcher rd=request.getRequestDispatcher("userList.jsp");
rd.forward(request, response);
RequestDispatcher對象將當前request和response重定向到指定資源地址,更類似一個Servlet鏈(在實際項目中大量使用,eg:從servlet中處理完,轉向jsp中顯示)
4、jsp中EL表達式輸出不了
<%
List<User> listUser=(List<User>)request.getAttribute("listUser");
if(listUser==null||listUser.size()<1) {
out.println("沒有數據!");
}else{
for(User u:listUser){
<span style="color:#ff0000;">request.setAttribute("u",u); </span> //J:沒有這句話,無法EL輸出,因爲u變量訪問不到
%>
<tr>
<td>${u.name}</td>
<td>${u.sex }</td>
<td>${u.age }</td>
<td>${u.telnum }</td>
</tr>
<%
}
}
%>
java表達式中是在服務器中運行的代碼,而EL表達式是jsp頁面中的,無法直接訪問到java中變量,所有需要把變量存儲到request屬性中實現間接訪問
5、web.xml中定製Servlet的Url
url-pattern元素的值必須以斜槓(/)起始;
描述了相對於Web應用的根目錄的URL