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