2年java购物车分析
一.点击图书,展示该书的详细信息
点击图书→books页面→通过url重写displayBook.jsp?isbn=该书编号 →传入displayBooks页面→
<c:set var="isbn" value="${param.isbn}"></c:set>
<c:forEach var="currentBook" items="${sessionScope.bookTitles}">
<c:if test="${isbn==currentBook.ISBN}">
<c:set var="bookToAdd" value="${currentBook}" scope="session" />
</c:if>
</c:forEach>
→使用标签set接受param本页面传入的isbn值,变量名为isbn,用来保存url重写的isbn。
→循环判断session集合中的list对象,遍历判断isbn是否等于currentBooks.isbn,如果存在则用set标签
赋值保存到session中list集合对象→遍历页面显示该书的详细信息→bookToAdd.title.....
二.购物车操作
1.创建一个存放购物车信息的类CartItemBean
CartItemBean属性:
BookBean book对象 //购物车存放书籍信息
int quantity //存放书籍的数量个数
初始化在构造函数里
方法()
getBook()获取book对象
getquantity()获取quantity数量
2.Servlet控制
HttpSession session=requst.getSession(false);获取当前session会话,如果存在则使用当前,不存在则返回为空。
if(判断session是否为空)
如果为空则跳转到books。jsp页面
如果存在session会话
获取当前session对象 bookBean book=(BookBean)session.get(book)
再获取map购物车集合对象 map cart=(map)session.get(cart)
判断是否为空,如果为空就创建并保存到session中。
不为空则:
判断集合里是否在购物车中
购物车类 对象=(类型)cart.get(map键--book.getIsbn)--
Map集合--key-isbn
--value-book
三.显示购物车信息
相关文档:
import java.net.URL;
import java.net.URLDecoder;
public class PathUtil
{
/**
* Get the env of windir, such as "C:\WINDOWS".
* @return the env of windir value.
*/
public static String getWindir(){
return System.getenv("windir");
}
......
对于10进制数转换为N(2-36)进制一般都是选择取余除的算法进行转换 ,下面给出两种方案
一种是递归,一种是迭代。通过效率评价两者性能
其中迭代的方案直接取自java源代码。
/*
*Class NotationConvert.java
*Create Date: 2009-11-12
*Author:a276202460
*/
package com.rich.notation;
public class Notat ......
Java 多线程编程之三:synchronized 关键字的使用
带有 synchronized 关键字的方法代表这个方法加锁。恰当而又灵活地运用 synchronized 关键字,是多线程编程的必修课。
1、synchronized关键字的作用域有二种:
1)是某个对象实例内,synchronized aMethod(){}可以防止多 ......
昨天才看到,但是遇到一些问题,今天解决了,记下……(参考:http://netbeans.org/kb/55/beginning-jni-part1.html)
我用的是Netbeans 6.7,但是和其他的也应该大同小异吧。 基本流程: Java这边的:
创建java文件(带native的),还要记得在类中加入:System.loadLibrary(xxx) 。
然后用javah来生成C/ ......
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......