ServletContext和ServletConfig
- ServletConfig是指sevlet的参数
- ServletContext是指全局的
- 其实最简单的一个例子就是因为客户端不同,然后所保存的内容也就不一样,这里看一个实例进行理解
Login.jsp
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="SevletName" method="post">
<input type="text" name="name">
<input type="submit" value="登录">
</form>
</body>
SevletName
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String name=request.getParameter("name");
List<String> list=(List<String>) this.getServletContext().getAttribute("list");
if(list==null)
list=new ArrayList<String>();
list.add(name);
this.getServletContext().setAttribute("list", list);
response.sendRedirect("show.jsp");
}
- 这里和我们前面购物车的思想是一样的
- 首先取出在SevletContext里面存放的list
- 然后再把这次获取的加进去
- 然后响应写回
show.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:forEach var="str" items="${list}" >
${str }<br>
</c:forEach>
</body>
</html>
总结
- 这里就是一个简单的应用,,如果用ServletConfig的话,更改浏览器请求,就会清除之前的信息,因为是第二个客户端访问了
- ServletContext和ServletConfig都可以在web.xml中进行配置,注意ServletConfig是配置再Sevlet里面,所以只针对一个客户端
- 最常用的方法也就是setAttribute、getAttribute、removeAttribute
- 同时也可以获取项目路径哦,就可以灵活应用