⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shopform.java

📁 servlet学习代码
💻 JAVA
字号:
package jsp.servlet.chapter8.session;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.URL;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import jsp.servlet.util.ServletUtil;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

@SuppressWarnings("serial")
public class ShopForm extends HttpServlet {
	
	List<CatalogItem> itemList = new ArrayList<CatalogItem>();
	
	public void doGet(HttpServletRequest request, 
			HttpServletResponse response) throws IOException{
		
		HttpSession session = request.getSession();
		Cookie custom = ServletUtil.getCookie(request, "custom", "");
		if(custom.getValue().equals("")){
			Orders orders = new Orders();
			custom = new Cookie("custom", request.getParameter("custom"));
			response.addCookie(custom);
			session.putValue(request.getParameter("custom"), orders);
		}
		

		
		response.setContentType("text/html");
		response.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n");
		out.println("<html>\n<head>\n<title>购物车</title>\n</head>\n" +
				"<body bgcolor=\"#FDF5E6\">\n");
		out.println("<center>\n" + XMLparser("book.xml", request));
//		out.println("客户姓名:<input type='text' value='' name='custom'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
//				"&nbsp;&nbsp;&nbsp;&nbsp;");
//		out.println("<input type='submit' value='提交'></center>\n");
		Orders order = (Orders) session.getAttribute(custom.getValue());
		if(order!= null){
			out.println("订单:\n");
			List<ItemOrder> orderList = order.getOrderList();
			for(int i =0; i<orderList.size(); i++){
				ItemOrder itemOrder = orderList.get(i);
				out.println(itemOrder.getItem().getTitle() + ":    shuliang:" + itemOrder.getNumItem() + "<br>\n");
			}
		}
		out.println("\n</body>\n</html>");

	}
	
	@SuppressWarnings("deprecation")
	public String XMLparser(String file, HttpServletRequest request){
		
		itemList.removeAll(itemList);
		
		ClassLoader cl = Thread.currentThread().getContextClassLoader();
        URL fileUrl = cl.getResource(file);
        while(cl != null){
        	if(fileUrl != null){
        		break;
        	}
        	else{
        		cl = cl.getParent();
        		fileUrl = cl.getResource(file);
        	}
        }
		
		StringBuffer sb = new StringBuffer("<table>\n<tr>\n<td width='20%'>书名</td>\n<td width='20%'>作者</td>\n<td width='20%'>出版时间</td>" +
				"\n<td width='20%'>价格</td>\n<td width='20%'>订购数量</td>\n</tr>\n");
		SAXReader reader = new SAXReader();		
		Document doc = null;
		List bookList = new ArrayList();
		try {
			doc = reader.read(fileUrl);
			bookList =  doc.selectNodes("/bookstore/book");
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		
		Iterator iter = bookList.iterator();

		while(iter.hasNext()){
			CatalogItem item = new CatalogItem();
			Element book = (Element) iter.next();
			Iterator bookChild = (Iterator) book.elementIterator();
			String title="", author="", year="", price="";
			String id = book.attributeValue("id");
			while(bookChild.hasNext()){
				Element child = (Element) bookChild.next();
				
				if(child.getName().equals("title")){
					title += child.getText();
					item.setTitle(title);
				}if(child.getName().equals("author")){
					if("".equals(author)){
						author += child.getText();	
					}else{
						author += "&" +child.getText();	
					}
					item.setAuthor(author);
				}
				if(child.getName().equals("year")){
					year += child.getText();
					item.setYear(year);
				}
				if(child.getName().equals("price")){
					price = child.getText();
					item.setPrice(Double.parseDouble(price));
				}
//				id = ((Attribute)idList.get(0)).getValue();

			}
			item.setId(id);
			sb.append("<form action='AddItem'>\n<table width='80%'>\n<tr>\n<td width='20%'>" + title + "</td>\n<td width='20%'>" + author + "</td>\n<td width='20%'>" + year + 
					"</td>\n<td width='20%'>" + price + "</td>\n<td width='20%'>" + 
					"<input type='text' name='" + id + "'>" +
					"<input type='hidden' name='bookId' value='" + id + "'>" +
					"<input type='submit' value='tijiao'></td>\n</tr>\n<table>\n</form>\n");
			
			itemList.add(item);
		}
		sb.append("</table>\n");
		
		HttpSession session = request.getSession();
		if(session.getAttribute("itemList") == null){
			session.putValue("itemList", itemList);
		}else{
			session.setAttribute("itemList", itemList);
		}

		
		return sb.toString();
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -