开发基于JSP_Servlet_JavaBean的网上交易系统

上传人:aa****6 文档编号:29993381 上传时间:2018-01-26 格式:DOC 页数:23 大小:180.50KB
返回 下载 相关 举报
开发基于JSP_Servlet_JavaBean的网上交易系统_第1页
第1页 / 共23页
开发基于JSP_Servlet_JavaBean的网上交易系统_第2页
第2页 / 共23页
开发基于JSP_Servlet_JavaBean的网上交易系统_第3页
第3页 / 共23页
开发基于JSP_Servlet_JavaBean的网上交易系统_第4页
第4页 / 共23页
开发基于JSP_Servlet_JavaBean的网上交易系统_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《开发基于JSP_Servlet_JavaBean的网上交易系统》由会员分享,可在线阅读,更多相关《开发基于JSP_Servlet_JavaBean的网上交易系统(23页珍藏版)》请在金锄头文库上搜索。

1、1开发基于 JSP Servlet JavaBean 的网上交易系统第一章 JavaEE 的概述1 了解性知识(jsp 的弊端,什么是 JavaEE,什么是框架,javaEE 的结构体系)表示层技术(HTML JavaScript Ajax)中间层技术(JSP Servlet JSTL JavaBean Strusts )数据库技术(JDBC 技术 数据层框架技术 Hibernate)系统集成技术(JAX-WS 技术 JNDI)2 HTTP 协议http 是一个无状态协议,默认输出端口为 803 Post 与 Get 提交数据方法的差别( Get 方法是浏览器默认的提交方法)(1)Post 请

2、求数组在地址栏不可见,相对比较安全(2)Post 请求提交的数据在理论上没有长度的限制(3)Get 请求将字符串添加到 URL 中,是页面可以被设置成书签或使用电子邮件发送,Post 请求则不能4 为 Eclipse 添加数据监控工具 TCP/IP Monitor 进行数据监控(1)单击“窗口”- “首选项”命令,弹出“首选项” 窗口(2)展开左侧的“运行/调试 ”节点,选择 TCP/IP Monitor 选项,并选中 Show the.复选框(3)添加监视窗口,单击 add 按钮后,弹出对话框,按图添加内容(4)启动监控,运行程序,把地址内的端口号 8080 改为 8088 查看监控结果2第

3、二章 Servlet 基础1 Servlet 是一个 java 程序,是在服务器端运行以处理客户端请求并作出响应的程序。创建 Servlet 类必须继承 HttpServlet 类,实现 doGet()或者 doPost()方法2 单击右建选择新建 Servlet 命令,在弹出的窗口中输入 Servlet 名称,选择超类为javax.servlet.http.HttpServlet,并选中 Create doGet 和 doPost 两个复选框,单击完成按钮3 Servlet 的生命周期(1)实例化 Servlet 容器创建 Servlet 的实例(2)初始化 该容器调用 Init()方法(3

4、)服务 如果请求 Servlet,则容器调用 service()方法(4)销毁 销毁实例之前调用 destory()方法4 Servlet 的部署与配置:web 文件AddServletservlet.AddServletAddServlet/AddServlet5 Servlet 处理 Get/Post 请求(1)HttpServletRequest request 对象常用方法Request.getParameter(“param”)获取客户请求的数据Request.setCharacterEncoding(“GBK”);将输入内容转化成中文Request.setAttribute(“lo

5、ginname”,user);在 request 作用域存储数据(2)HttpServletResponse response 对象常用方法Response.setContentType(“text/html;charset=GBK”);设置输出中文,解决中文乱码问题Response.sendRedirect(“URL”);让浏览器重定向到指定的资源(3)转发RequestDispatcher dispatcher=request.getRequestDispatcher(url);首选定义转发器dispatcher.forward(request, response);然后实现转发的功能第三

6、章 基于 Servlet 的会话跟踪(一)1 会话的创建HttpSession session = request.getSession(Boolean value);HttpSession session = request.getSession();在第一种方法中,布尔值为 true 时,如果存在与当前请求关联的会话,就返回该会话。否则创建一个新会话,并把会话返回。布尔值为 false 时,如果存在与当前请求关联的会话,就返回该会话。否则返回 null,不创建会话。2 会话的使用Session.setAttribute(String name,Object value);3Session.

7、getAttribute(String name);值得注意的是:Session.getAttribute(String name);方法返回的是 Object 对象,所以在取出数据是需要进行数据类型转化,是与存入的一致。3 HttpSession 对象的结束(1)关闭浏览器,关闭 Session(2)调用 HttpSession 的 invalidate()方法,删除 HttpSession 对象和数据。(3)两次访问的时间间隔大于 Session 定义的非活动时间间隔第四章 基于 Servlet 的会话跟踪(二)1 购物车的设计分析HttpSession session = request

8、.getSession(false);RequestDispatcher dispatcher;/ 如果session不存在,转向 /ch04/books.jspif (session = null) dispatcher = request.getRequestDispatcher(/cho4/books.jsp);dispatcher.forward(request, response);/ 取出购物车和添加的书籍Map cart = (Map)session.getAttribute(cart);BookBean book = (BookBean) session.getAttribut

9、e(bookToAdd);/ 如果购物车不存在,创建购物车if (cart = null) cart = new HashMap();/ 将购物车存入session之中session.setAttribute(cart, cart);/ 判断书籍是否在购物车中CartItemBean cartItem = (CartItemBean) cart.get(book.getISBN();/ 如果书籍在购物车中,更新其数量./ 否则,创建一个条目到Map中.if (cartItem != null)cartItem.setQuantity(cartItem.getQuantity() + 1);el

10、secart.put(book.getISBN(), new CartItemBean(book, 1);/ 转向viewCart.jsp显示购物车response.sendRedirect(/Y2JavaEE/cho4/viewCart.jsp);4实现购物车列表购物车当前为空。 );out.println(继续购物 );else / 创建用于显示内容的变量Set cartItems = cart.keySet();Object isbn = cartItems.toArray();BookBean book;CartItemBean cartItem;int quantity;double

11、 price, subtotal;%我们通过 Map 接口的 keySet()方法,可以把 Map 中的 key 建以 set 形式返回,在通过 toArray()方法,将 Set 对象转换为 Object 类型数组,之后我们遍历数组,以数组元素为key 值,取出 map 中所存储的数据2 格式化问题在处理数字格式方面,Java API 为我们提供了 DecimalFormat 类,为我们解决十进制数字的格式化问题。53 常用集合类,接口(1)List 接口(List 接口与 Set 接口都继承自 Collection 接口)ArrayList 是以 Array 方式实现的 List,允许快速

12、随机存取,相对与 LinkedList 不适合进行插入和移除元素操作LinkedList 提供最佳顺序存取,适合插入和移除元素(2)Set 接口(set 是一种不包含重复元素的 Collection,也就是说在 Set 中最多只能有一个 null 元素)HashSet 能够快速定位一个元素,但是它要存入 HashSet 的对象必须实现HashCode()方法TreeSet 将放入其中的元素按顺序存取(3)Map 接口(Map 是一种把键对象与值对象进行关联的容器,像 Set 一样,一个map 容器中的键对象不允许重复,这是保证查找结果的一致性)HashMap 类是 Map 类的实现类,实现一个

13、键到值映射的哈希表,通过键取得值对象。Properties 类一般是把属性文件读入流中后,以键-值的形式进行保存,以方便程序员读取其中的数据第五章 基于 Servlet 的 MVC 设计模式MVC 是一种流行的软件设计模式(1)模型(Modle): 对应的组件是 JavaBean(Java 类)(2)视图(View): 对应的组件是 JSP 或 HTML 文件(3)控制器(Controller):对应的组件是 ServletMVC 设计模式的好处1各司其职,互不干涉2有利于开发中的分工3有利于组建的重用第六章 Model 层开发:高级 JDBC1 数据库连池(1)数据连接池在 JDBC 2.0

14、 中提供了 javax.sql.DateSoure(数据源) 接口,它负责建立与数据库的连接,在应用程序中访问数据据库不必编写连接数据库的代码,可直接从数据源获得数据库连接。数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接,以避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术明显的提高了对数据库的操作性能。数据库连接池在初始时将创建一定的数据库连接放到连接池中,这些数据库连接的数量是有最小数据库连接数来确定的。无论这些数据库连接是否被使用,连接都一直保证至少拥有这么多的连接数量。连接池的

15、最大数据库连接数量限定了这个链接池能占用的最大连接数量,当应用程序向连接池请求的连接数量超过最大连接数量时,这些请求将被加入到等待列中。(2)数据源与 JNDI 资源6DataSoure 对象是由 Web 容器(Tomcat)提供的,因此不能在程序中采用创建一个实例的方法来生成 DataSource 对象,而需要采用 Java 的另一个技术 JNDI,来获得DataSource 对象可以简单的把 JNDI 理解为一种将对象和名字绑定的技术,容器产生出对象,这些对象都和唯一的名字绑定。外部程序可以通过名字来访问该对象。Javax.naming,Context 提供了查找 JNDI Resourc

16、e 的接口,例如,可以通过以下的代码获得 jdbc/books 的数据源的引用:Context ic = new InitialContext();DataSource source = (DataSource)ic.lookup(java:comp/env/jdbc/books);conn=source.getConnection(); /获取数据库连接当程序结束数据库访问后,应该调用 Connection 的 close()方法,及时将 Connection 返回给数据库连接,是 Connection 恢复空闲状态。Context 接口的 lookup()方法方法 说明lookup(String name)返回与指定的名字绑定的对象Tomcat 把 DataSource 作为一种可配置的 JNDI 资源来处理。生成 DataSource 对象的工厂为mons.dbcp.BasicDataSource

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号