`
sessdu
  • 浏览: 16964 次
社区版块
存档分类
最新评论

Java简单购物车设计

 
阅读更多

还是存在一些问题(比如clear函数没效果、乱码,单独测试也没,确实找不到问题),路过的给解决下。。。

第一部分     会话控制

会话跟踪:

  • 使用隐藏表单字段 
  • URL重写,实际就是直接把状态信息加到URL 
  • 持久Cookie 
  • 会话HttpSession

        今天写filter的时候找不到web.xml了,急坏了我,原来是我在创建动态网站项目的时候,输入项目名称后就立刻按finish了,我刚才创建了另一个项目,一步一步next地来,在最后那步可以是否创建web.xml文件,最后把这个web.xml文件拷贝到原来项目的WEB-INF目录下就正常运行了(servlet3.0)。

页面编码问题:

        首先,1在 eclipse 中配置 workspace 项下 text file encoding 属性的值来决定此工作区间下所有的 eclipse 项目的文档的编码属性。 Window-->Preferences-->General-->Workspace, 在 workspace 下配置 text file encoding 的属性值是 other, 在 other 中选择 ”utf-8”, 配置完成后,点出 ok 保存。

         其次,windows->Preferences...打开"首选项"对话框,左侧导航树,导航到 general->Content Types,右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。已经搞好的就用批量转码工具。

session的常用方法:

1、 getAttribute():从session中获取以前存储的值 
2、 getAttributeNames():返回session中所有属性的名称 
3、 setAttribute():将键与值关联起来,存储进session 
4、 removeAttribute():删除session中存储的对应键的值 
5、 invalidate():删除整个session及其存储的键值 
6、 logout():注销当前用户 
7、 getId():获取每个session对应的唯一ID 
8、 getCreationTime():获取session创建的时间 
9、 getLastAccessedTime():获取session最后被访问的时间 
10、getMaxInactiveInterval():在用户没有访问的情况下,会话在被自动废弃之前应该保持多长时间 
   

第二部分   JS控制

        html页面的所有元素均可以通过document.getElementById得到;document.forms["表单明"]或者document.forms["表单序号"]访问表单元素;document.frames["框架明"].document访问框架。

         值得注意的getElementById这个方法查找的时候,会以传入的参数与第一次name属性值相同的元素查找出来。

 <script type="text/javascript">
  
  function get()
  {
     //也可以直接通过元素的属性Id来直接获取
     var ipv6 = document.getElementById("ip").value;
     alert("ipv6: " + ipv6); //55::66
     
     var ipv4 = document.getElementById("ip").value;
     alert("ipv4: "+ipv4);  //55::66
     
     var ipv44 = document.getElementById("ipv4").value;
     alert(ipv44);       //1.1.1.1
  }
  
  </script>
  
  <body>
    <form action="hehe.jsp" id="one" method="post" name="one1" >
      ipv6 : <input type="text"   name="ip"  value="55::66" /><br>
      ipv4 : <input type="text"   id="ip" name="ipv4" value="1.1.1.1" /><br>
      <input type="button" value = "button" onclick="get()">
      </form>
  </body>


        getElementsByName(name),name这个属性在元素中是可以相同的也就是这个方法取出的是个集合(ID默认是唯一的,所以不实际和)。注意方法名,我老是写错少了“s”,这个方法与getElementById不太一样。

 <script type="text/javascript">
  
  function get()
  {
     //也可以直接通过元素的属性name来直接获取
     var ip = document.getElementsByName("ip");
     var ipv6 = ip[0].value;
     alert("ipv6: " + ipv6); //55::66
     
     var ipv4 = ip[1].value;
     alert("ipv4: "+ipv4);  //1.1.1.1
     
  }
  
  </script>
  
  <body>
    <form action="hehe.jsp" id="one" method="post" name="one1" >
      ipv6 : <input type="text"   id="ipv6" name="ip" value="55::66" /><br>
      ipv4 : <input type="text"   id="ipv4" name="ip" value="1.1.1.1" /><br>
      <input type="button" value = "button" onclick="get()">
      </form>
  </body>

 

        getElementByTagName(tagname),根据元素来查询,返回的值肯定也是集合啦!可以用来得到表单各个字段的名字。

 <script type="text/javascript">
  
  function get()
  {
     //也可以直接通过元素的属性tagname来直接获取
     var ip = document.getElementsByTagName("input");
     for(var i=0;i<ip.length;i++)
     {
        alert(ip[i].value); //55::66  1.1.1.1  button
     }
  }
  
  </script>
  
  <body>
    <form action="hehe.jsp" id="one" method="post" name="one1" >
      ipv6 : <input type="text"   id="ipv6" name="ip" value="55::66" /><br>
      ipv4 : <input type="text"   id="ipv4" name="ip" value="1.1.1.1" /><br>
      <input type="button" value = "button" onclick="get()">
      </form>
  </body>

 

        servlet处理复选框String[] param = request.getParameterValues("checkbox1") 
        表格变色:document.getElementById(row).style.backgroundColor="#FF0000";


第三部分  代码设计

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class FilterChar implements Filter {

	//�ýӿھ����������init��destroy��doFilter
	private String config;

	public void destroy() {
		this.config = null;
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		HttpServletRequest req;
		req = (HttpServletRequest) request;

		HttpServletResponse res;
		res = (HttpServletResponse) response;
		
		req.setCharacterEncoding(config);
		res.setCharacterEncoding(config);
		
		chain.doFilter(req, res);

	}

	public void init(FilterConfig config) throws ServletException {
		this.config = config.getInitParameter("encode");
	}
}
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;

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


public class FruitBuy extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		super.doGet(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		super.doPost(req, resp);
	}

	@Override
	protected void service(HttpServletRequest req, HttpServletResponse res)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		HttpSession session = req.getSession(true);
		HashMap cart = (HashMap)session.getAttribute("cart");
		if(null==cart) {
			cart = new HashMap();
			//Ĭ����object
			cart.put("J2SE","0");
			cart.put("J2EE","0");
			cart.put("J2ME","0");
			session.setAttribute("cart", cart);
		}
		PrintWriter out = res.getWriter();
		res.setContentType("text/html; charset=UTF-8");
		req.setCharacterEncoding("UTF-8");
		int j2se = Integer.parseInt(req.getParameter("book1amount"));
		int j2ee = Integer.parseInt(req.getParameter("book2amount"));
		int j2me = Integer.parseInt(req.getParameter("book3amount"));
		
		//object����ֱ��תΪint����
		int oldJ2se = (int)cart.get("J2SE");
		int oldJ2ee = (int)cart.get("J2EE");
		int oldJ2me = (int)cart.get("J2ME");
		
		cart.put("J2SE", oldJ2se);
		cart.put("J2EE", oldJ2ee);
		cart.put("J2ME", oldJ2me);
		
		out.println("����������"+cart.get("J2SE")+cart.get("J2EE")+cart.get("J2ME"));
		out.println("<hr>");
		out.println("�ص����"+"<a href=\"res.encodeRedirectURL(\"buy.jsp\") />");
	}
}
<%@ page language="java" contentType="text/html; Charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<title>ÍøÉÏÊéµê是</title>
	<script type="text/javascript" language="JavaScript">
		function clear1() {
			document.forms["fruitform"].book1amount.value="";
		}
		function clear2() {
			document.forms["fruitform"].book2amount.value="";
		}
		function clear3() {
			document.forms["fruitform"].book3amount.value="";
		}
		function changecolor( row) {
		//C大写
			document.getElementById(row).style.backgroundColor="#FF0000";
		}
		function resetcolor( row) {
		//C大写
			document.getElementById(row).style.backgroundColor="#FFFFFF";
		}
		//ÒòΪajax²»»á£¬È¨µ±Á·Ï°js
		function show1() {
			document.forms["fruitform"].book1amount.value =document.getElementById(book1amount).value;
			window.alert("Äú¹ºÂòÁË:" + document.forms["fruitform"].book1amount.value+"±¾");
		}
		function show2() {
			document.forms["fruitform"].book2amount.value =document.getElementById(book2amount).value;
			window.alert("Äú¹ºÂòÁË:" + document.forms["fruitform"].book2amount.value+"±¾");
		}function show3() {
			document.forms["fruitform"].book3amount.value =document.getElementById(book3amount).value;
			window.alert("Äú¹ºÂòÁË:" + document.forms["fruitform"].book3amount.value+"±¾");
		}
	</script>
</head>
<body>
<form action="FruitBuy" name="fruitform" method="get">
	<hr align="center" size="1">
	<table >
		<!-- ±ØÐë·ÅÔÚtableÄÚ²¿ -->
		<caption>»¶Ó­À´µ½ÎÒµÄÍøÉÏÊéµê</caption>
		<tr id="row">
			<th>ÖÖÀà</th><th>µ¥¼Û</th><th>ÊýÁ¿</th>
		</tr>
		<tr id="row1"  onMousemove="changecolor('row1')" onMouseout="resetcolor('row1')">
			<td>J2SE¾«±à</td><td>22.0</td>
			<td><input type="text" name="book1amount"  id="book1amount" value="ÇëÊäÈ빺ÂòÊýÁ¿" onFocus="clear()" onBlur="show1()"></td>
		</tr>
		<tr id="row2"  onMousemove="changecolor('row2')"  onMouseout="resetcolor('row2')">
			<td>J2EE¾«±à</td><td>36.0</td>
			<td><input type="text" name="book2amount"  id="book2amount" value="ÇëÊäÈ빺ÂòÊýÁ¿" onFocus="clear()" onBlur="show2()"></td>
		</tr>
		<tr id="row3" onMousemove="changecolor('row3')"  onMouseout="resetcolor('row3')">
			<td>J2ME¾«±à</td><td>22.0</td>
			<td><input type="text" name="book3amount"  id="book3amount" value="ÇëÊäÈ빺ÂòÊýÁ¿" onFocus="clear()" onBlur="show3()"></td>
		</tr>
	</table>
	<hr align="center" size="1">
	<input type="submit" value="·ÅÈ빺Îï³µ">
</form>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>WEB</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <filter>
    <filter-name>FilterChar</filter-name>
    <filter-class>FilterChar</filter-class>
    <init-param>
      <param-name>encode</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>FilterChar</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

  

3
2
分享到:
评论
2 楼 fordyoujie 2013-11-16  
就是就是
1 楼 lvwenwen 2013-11-15  
上传源码工程吧

相关推荐

    Java Web 课程设计报告 设计题目:_简易购物车设计

    Java Web 课程设计报告设计题目:简易购物车设计 Java Web 课程设计报告设计题目:简易购物车设计是 Java Web 开发课程中的一个实践项目,旨在设计和实现一个简易的购物车系统。该系统主要包括首页、注册、登录、...

    java写的购物车(shopping)

    用java语言写的简易购物车,里面把Jsp有关的知识基本设计到了,是学好Java web这一块的好资源。

    简易购物车项目

    JSP+servlet+模拟数据库建造的一个简易购物车,可以实现添加,删除功能,里面还有一个小小的BUG,希望大神指正,

    java购物车案例(servlet+jsp)

    用jsp于servlet实现购物车,代码可以运行,如有问题可给我恢复 lx31954@163.com

    COREJAVA购物车思路

    【标题】:CoreJava购物车实现思路 【描述】:本项目旨在实现一个基于Java的在线购物系统,其中的核心...通过这样的设计,我们可以构建出一个简单但功能完整的在线购物系统,同时也为未来的功能扩展打下了坚实的基础。

    JAVA代码实现WEB简单购物车功能

    WEB项目 数据库增加删除修改查询 添加购物车 动态结算

    北邮java选修大作业 购物车

    假设现在要设计一个贩卖各类书籍的电子商务网站的购物车系统。对所有的教材类图书 实行每本一元的折扣;对连环画类图书提供每本7%的促销折扣;而对非教材类的计算机图书有3%的折扣;对其余书没有折扣。使用策略模式...

    运用java语言设计购物车的实现.pdf

    总的来说,这个Java购物车系统的实现涉及到面向对象设计、数据结构(如`Map`)的使用、HTTP会话管理以及简单的业务逻辑处理。在实际开发中,还需要考虑到异常处理、安全性、性能优化以及与其他系统(如支付网关、...

    JSP课程设计-购物车

    【JSP课程设计-购物车】是一门针对网络编程学习者设计的实践项目,旨在让学生掌握JSP(Java Server Pages)技术在构建电子商务系统中的应用,特别是实现购物车功能。本设计报告详细阐述了从需求分析到模块设计的全...

    java购物车源码,技术JSP+SERVLET,数据库SQL2000

    java购物车源码,用到jsp+servlet,数据库sql2000的驱动,里面有源代码和数据库及ER设计图

    基于javaWeb实现简易的购物车系统

    基于javaWeb实现简易的购物车系统 1、技术栈 javaWeb + servlet + tomcat + html + css 2、需求说明 (1)设计一个商品展示html页面 (2)点击“添加到购物车”这一超链接后跳转到一个Servlet,在该Servlet中实现...

    Java基于MVC模式的一个简单购物车实例源码+使用说明.zip

    Java基于MVC模式的一个简单购物车实例源码+使用说明.zip 该项目是个人毕设项目,答辩评审分达到95分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。 该资源主要针对计算机、通信、人工...

    jsp版简单购物车系统

    这个系统还是购物车系统,只是在原来的基础上进行类优化,加入了一些JavaScript脚本验证和后台数据库的改变,每次购买后,数据库...在这个系统中JavaScript脚本和设计的思路挺值得借鉴(特别是正在学jsp和Java的朋友们)!

    购物车案例分析

    使用图解的方法简单明了的方式说明购物车的设计

    简单的购物车系统(可当作毕业设计参考)

    毕业设计可以参考。主要是java语言实现的。

    可在NetBeans上直接运行的Java购物车程序

    我这个购物车程序可以直接在NetBeans上运行,不用修改了,当然你想增添别的功能也可以,在网上看的其他的总是要改来改去还不一定改对,这个很方便,可以用来做学期课程设计。

    java Swing mysql实现简单的购物系统【源码+数据库+运行指导视频】

    本项目是一套java Swing mysql实现简单的购物系统,主要针对计算机相关专业需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、运行指导视频。 项目都经过严格调试,确保可以运行! 二、技术实现 后端:...

    基于java校园二手交易系统的毕业设计,系统提供商品浏览、商品搜索、商品信息管理、订单管理、购物车管理、留言管理等功能

    该毕业设计是关于校园二手商品交易系统的开发...系统设计简单、易用,界面友好,操作流畅,满足用户的基本需求,为用户提供了一个便利的校园二手商品交易平台。系统开发采用了面向对象的思想,具有良好的扩展性和可维护性。

    java应用软件程序设计

    这里边包括:第1章 Java图形用户界面编程 1 实例1 布局管理 2 实例2 设计软件启动界面 9 实例3 实现多色窗口 11 实例4 切分窗口 13 实例5 丰富多彩的按钮 15 实例6 在窗口中显示背景图 16 实例...

    Java Web应用开发 44 课堂案例-应用JavaBean实现购物车.docx

    `cart_add.jsp`是一个简单的JSP页面,它会调用`CartBean`的`addCart()`方法来处理用户请求,将商品添加到购物车。实际的HTML和Java代码混合在一起,实现了用户界面与后台逻辑的交互。 通过这个案例,我们可以了解...

Global site tag (gtag.js) - Google Analytics