获得Session:
request.getSession();
1.1.2.2 步骤分析:
【步骤一】:点击加入购物车提交到Servlet
【步骤二】:在Servlet将购物的商品存入到Session中.
【步骤三】:可以创建一个Map集合用于保存购物信息Map的key可以是商品的名称,Map的value是数量.
【步骤四】:在购物车页面中显示Map中的数据就可以.
1.1.3 代码实现:
public class CartServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 接收商品名称:
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
// 创建Map集合用于保存购物信息.Map<String,Integer> Map的key是商品的名称 value是购买的数量.
Map<String,Integer> map = (Map<String, Integer>) request.getSession().getAttribute("cart");
if(map == null){
map = new LinkedHashMap<String,Integer>();
}
// 判断购物车中是否已经买了该商品.
if(map.containsKey(name)){
// map中已经有该商品:// * 如果购物车中已经有该商品: 获得到Map中该商品的数量+1。 存回到Map集合中.
Integer count = map.get(name);
count++;
map.put(name, count);
}else{
// map中没有该商品.// * 如果购物车中没有改商品: 将商品添加到Map集合中 数量1.
map.put(name, 1);
}
// * 将Map集合保存到session中.
request.getSession().setAttribute("cart", map);
response.setContentType("text/html;charset=UTF-8");
response.getWriter().println("<h3><a href=‘/day11/demo2/product_list.jsp‘>继续购物</a> | <a href=‘/day11/demo2/cart.jsp‘>去结算</a></h3>");
}
1.1.4 总结:1.1.4.1 Session是域对象:
session何时创建和销毁?作用范围:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 校验验证码程序:
String code1 = request.getParameter("code");
String code2 = (String) request.getSession().getAttribute("code");
request.getSession().removeAttribute("code");
if(!code1.equalsIgnoreCase(code2)){
request.setAttribute("msg", "验证码输入错误!");
request.getRequestDispatcher("/demo2/login.jsp").forward(request, response);
return ;
}
...
}
1.2.4 总结:1.2.4.1 使用JS控制图片切换:
<script type="text/javascript">
function changeImg(){
document.getElementById("img1").src="/day11/CheckImgServlet?time="+new Date().getTime();
}
</script>
原文:http://blog.51cto.com/13517854/2120203