A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

叶身辉:
主要学习的是session和jsp,
session和cookie是一对好基友,只是session是域对象,cookie用来连接浏览器,结合案例主要是购物车的案例,需要用session域对象和cookie来和浏览器传输数据,session是保存在服务器中的各种数据,需要使用cookie保存的钥匙才能打开,实际上浏览器和服务器仍然是传递的cookie,他们的生命周期都是一次会话,但是cookie有大小限制,而session因为保存在服务器中所以没有大小限制,通过这样的方式可以提高了传输的效率和安全性,session默认保留时间是30分钟,
学习jsp主要是学了如何在jsp页面输出java代码和一些底层代码是如何实现这些功能的,但是我们要尽量避免在jsp上写java代码,
之后是结合前几天的知识所完成的案例的互相关联和一些注意事项

一, 首先,需要完成一个基本的环境配置准备工作():
1;准备四个jsp文件:
cart.jsp                        购物车界面
login.jsp                        登陆界面
product_list.jsp        商品列表界
regist.jsp                        注册界面
2;导入需要的jar包:
c3p0-0.9.1.2.jar                                        c3p0jar包
commons-dbutils-1.4.jar                                DBUtils 的jar包
mysql-connector-java-5.0.8-bin.jar                mysql的jar包
3;C3P0所需要的xml文件
c3p0-config.xml  固定的xml文件名
4,创建项目,将以上文件全部拷贝到项目中,
二, 开始准备java代码
(一)注册的servlet
1.处理中文乱码request.setCharacterEncoding("utf-8");
2.接收从页面传过来的参数:request.getParameter();
3.将接收到的参数保存到一个实体类中:创建实体类对象调用set方法
4.调用service业务处理层
5.在service中调用dao先查询是否存在用户名,如果不存在就添加到数据库
6.再跳转页面request.getRequestDispatcher("/login.jsp").forward(request, response);或者重定向,
(二)登陆的servlet
1.处理中文乱码问题
2.接收页面传过来的参数账号和密码
3.将参数保存到实体类中,传给service
4.调用Dao核对账号密码是否正确
5.传回servlet,跳转页面
(三)购物车cart 的servlet
1,处理中文乱码的问题:
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
2,调用购物车的session域对象,request.getSession().getAttribute("cart");购物车的域对象是session(“cart”, map);名字+map集合
3,如果不存在就创建一个,map = new LinkedHashMap<String ,Integer>();因为linkedhashmap比较方便增删数据
4,如果存在就直接判断map中是否存在传过来的参数key,存在的话将其value加1再存进去,不存在的话就直接给map添加一个数据
5,将处理好的数据存入session对象中
6,输出的中文编码和跳转页面
三 ,使用到的不熟悉的知识点和方法
1.中文的get请求的编码
2.Session(“cart ”,map)域对象格式map=LinkedHashMap<String ,Integer>();
3.遍历map集合的方法需要复习
4.注意跳转的时候保存数据什么时候该用什么域对象request/session/servletcontext
注意每个域对象的作用范围和生命周期.
5.${域对象的名称},可以把值显示在页面上
6.商品的连接要改成"/Demo0607/CartUserServlet?name=苹果"这种样式而不是定义参数name
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马