`
小鑫的java
  • 浏览: 143584 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

shopcart10的经典代码

阅读更多
1数据库连接池的现实

shopcart10中
在容器中初始化数据库的连接池  其只能在跟容器相关的类中使用,因为连接都是在服务器,不是在你本地PC上 所以本地代码不能用数据库连接池

package db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Stack;
//数据库产生连接 关闭文件
public class DBPool {
    private String driver;
    private String url;
    private String username;
    private String password;
   
    private Stack<Connection> pool;
   
    public DBPool(){
        pool = new Stack<Connection>();
    }
   
   
    /**
     * @explain
     * @param
     * @exception
     * @return
     */
    private synchronized Connection openConn(){
        System.out.println(driver);
        System.out.println(url);
        System.out.println(username);
        System.out.println(password);
        System.out.println("openConn");
        Connection con = null;
        try{
            Class.forName(driver);
            con =DriverManager.getConnection(url,username,password);
            System.out.println("产生连接");
           
        }catch(Exception e){
            e.printStackTrace();
        }
       
        return con;
    }
    public synchronized Connection getConn(){
        if(pool.size()<=0){
            Connection con = this.openConn();
            pool.push(con);
        }
        return pool.pop();
       
    }
    public synchronized void close(Connection con){
        pool.push(con);
       
    }
   

    public String getDriver() {
        return driver;
    }

    public String getUrl() {
        return url;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public Stack<Connection> getPool() {
        return pool;
    }


    public void setDriver(String driver) {
        this.driver = driver;
    }


    public void setUrl(String url) {
        this.url = url;
    }


    public void setUsername(String username) {
        this.username = username;
    }


    public void setPassword(String password) {
        this.password = password;
    }


    public void setPool(Stack<Connection> pool) {
        this.pool = pool;
    }
   
}

*********
package db;
//新建一个连接池
public class GlobalVars {
    static public DBPool pool = new DBPool();
    //static public int uid=125;
}
************
package commons;

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

import db.DBPool;
import db.GlobalVars;
//开启服务,初始化连接池
public class WebInit extends HttpServlet {
    @Override
    public void init() throws ServletException{
        //获取数据库连接参数
        System.out.println("环境正在初始化...");
        String driver = this.getServletContext().getInitParameter("driver");
        String url = this.getServletContext().getInitParameter("url");
        String username = this.getServletContext().getInitParameter("user");
        String password = this.getServletContext().getInitParameter("password");
        //初始化连接池
//        GlobalVars.pool = new DBPool();
        GlobalVars.pool.setDriver(driver);
        GlobalVars.pool.setPassword(password);
        GlobalVars.pool.setUrl(url);
        GlobalVars.pool.setUsername(username);
       
        System.out.println(driver);
        System.out.println(url);
        System.out.println(username);
        System.out.println(password);
        System.out.println("getConn:"+GlobalVars.pool.getConn());
        System.out.println("getDriver:"+GlobalVars.pool.getDriver());
        System.out.println("环境初始化完毕");
    }
    @Override
    protected void service(HttpServletRequest req,HttpServletResponse resp){
       
       
    }

}

**********
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
 
  <!-- Parameters  of Database Connection -->
  <context-param>
      <param-name>driver</param-name>
      <param-value>com.mysql.jdbc.Driver</param-value>
  </context-param>
  <context-param>
      <param-name>url</param-name>
      <param-value>jdbc:mysql://127.0.0.1:3306/tarena_shopcart?characterEncoding=gb2312</param-value>
  </context-param>
  <context-param>
      <param-name>user</param-name>
      <param-value>root</param-value>
  </context-param>
  <context-param>
      <param-name>password</param-name>
      <param-value></param-value>
  </context-param>
     
      <servlet>
      <servlet-name>globlinit</servlet-name>
      <servlet-class>commons.WebInit</servlet-class>
      <load-on-startup>1</load-on-startup>
      </servlet>

</web-app>

**********************************
**********************************
 
2登入界面的实现,采用自定义标签
index.jsp测试页面
<%@page pageEncoding="utf-8"%>
<%@taglib prefix="lg" uri="/WEB-INF/tlds/ui.tld"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>在线购物</title>
        <script type="text/javascript">
    function login() {
        var suser = document.getElementById("user").value;
        var spass = document.getElementById("password").value;
        var scode = document.getElementById("code").value;
        var url = "http://127.0.0.1:8080/Testshopcart/servlet/LoginServlet";

        url += "?";
        url += "user=" + suser + "&";
        url += "password=" + spass + "&";
        url += "code=" + scode;
        alert(url);
        var aj = new XMLHttpRequest();
        aj.open("get", url, true);
        aj.onreadystatechange = function() {
            if (aj.readyState == 4 && aj.status == 200) {
                var flag = aj.getResponseHeader("flag");
                alert(flag);
                if (flag == 1) {
                    alert("成功" + aj.responseText);
                } else {
                    alert("失败" + aj.responseText);
                }
            }
        }
        aj.send(null);

    }
</script>
    </head>

    <body>
        <lg:login imgurl="servlet/ImgServlet" event="login();" />
    </body>
</html>
**********
自己定义的标签文件
package taglibs;

import java.io.IOException;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
/**
 *
 * @author tarena
 *1 写TagSupport
 *写tld 文件 修改模板 属性
 *在jsp中使用《%@taglib prefix="" uri=""%》
 *
 *
 */
public class LoginTag extends TagSupport {
    private String imgurl;
    private String event;
    @Override
    public int doEndTag() throws JspException {
        JspWriter out=pageContext.getOut();
        //判定session是否登入
        HttpSession session=pageContext.getSession();
        try {
            if(session !=null&session.getAttribute("login")!=null){
            //没有登入,显示登入ui 已经登入显示用户维护ui
                out.println("已经登入");
            }else{
                out.println("<div>");
                out.println("<table>");
                //登入名
                out.println("<tr>");
                out.println("<td align=\"left\">用户:<input id='user' type='text' name='user' style='width:60;'/></td>");
                out.println("</tr>");
                //口令
                out.println("<tr>");
                out.println("<td align=\"left\">口令:<input id='password' type='password' name='password' style='width:60;'/></td>");
                out.println("</tr>");
                //教研码
                out.println("<tr>");
                out.println("<td>校验码: <input id='code' type='text' name='code'/><img width='80px' height='20px' src='"+imgurl+"?param='"+new Date().getTime()+" width='40' height='15' onclick='location.reload()'/></td>");
                out.println("</tr>");
                //确定
                out.println("<tr>");
                out.println("<td align='center'><input type='button' value='登入' onclick='"+event+"'/></td>");
                out.println("</tr>");
               
                out.println("</table>");
                out.println("</div>");
            }
        } catch (IOException e) {
            throw new JspException("登入问题");
        }
       
        return EVAL_PAGE;
    }
    public String getImgurl() {
        return imgurl;
    }
    public void setImgurl(String imgurl) {
        this.imgurl = imgurl;
    }
    public String getEvent() {
        return event;
    }
    public void setEvent(String event) {
        this.event = event;
    }

}
*******************
标签配置文件 存放在/WEB-INF/tlds/ui.tld
<?xml version="1.0" encoding="utf-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="..."
          version="2.0">
    <tlib-version>2.0</tlib-version>
    <jsp-version>2.0</jsp-version>
    <short-name>shopcart</short-name>
<tag>
    <name>login</name>
    <tag-class>taglibs.LoginTag</tag-class>
    <body-content>EMPTY</body-content>
    <attribute>
        <name>imgurl</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
        <type>java.lang.String</type>
    </attribute>
    <attribute>
        <name>event</name>
        <required>true</required>
        <rtexprvalue>true</rtexprvalue>
        <type>java.lang.String</type>
    </attribute>
</tag>
</taglib>
***************
package com.ren;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;

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

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
//绘制验证码的,随机产生4个数字
public class ImgServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("image/jpeg");
        //产生随机数,绘制成图像 输出图像
        Random r=new Random();
        String scode="";
        for(int i=0;i<4;i++){
            scode=scode+r.nextInt(10)+"";
        }
        //产生缓冲图像
        BufferedImage imgbuf=new BufferedImage(60,20,BufferedImage.TYPE_INT_BGR);
        //取得缓冲的绘制环境
        Graphics2D g=imgbuf.createGraphics();
        //开始绘制
        g.setColor(Color.white);
        g.fillRect(0, 0, 60, 20);//填充指定颜色
        g.setColor(Color.blue);
        g.setFont(new Font("宋体",Font.BOLD,18));
        g.drawString(scode,3,18);
        //转码
        ServletOutputStream out=response.getOutputStream();
        //
        JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(out);
        encoder.encode(imgbuf);
        out.close();
        //
    }

}

***************
package com.ren;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//用户登入 并通过查数据库进行检测
public class LoginServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String code=request.getParameter("code");
        response.setContentType("text/html");
        PrintWriter out=response.getWriter();
        String uname = request.getParameter("user");
        String upassword = request.getParameter("password");
        if(uname.equals("ren")&&upassword.equals("123")&&code!=null){
            response.addHeader("flag", "1");
            out.println("success rensongxin");
        }
        else{
            response.addHeader("flag", "2");
            out.println("failure rensongxin");
        }

    }
   
}

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
 
   <servlet>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>com.ren.LoginServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/servlet/LoginServlet</url-pattern>
  </servlet-mapping>
</web-app>

***************************
***************************
3其他部分重要代码

package commons;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashSet;
import java.util.Iterator;

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

import db.GlobalVars;
//点击购买商品 把商品信息添加到购物的session
public class CarServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        String pid = (String) request.getParameter("pid");//商品的编号
        Connection con = GlobalVars.pool.getConn();
        PrintWriter out=response.getWriter();
        HttpSession session=request.getSession();
        HashSet<Item> set=(HashSet) session.getAttribute("set");
        //第一次购买商品 有问题
        if(set==null){session.setAttribute("set", new HashSet<Item>());}
        else{
            Item item=new Item();
            PreparedStatement ps = null;
            ResultSet rs = null;
            String sql = "select pname,pprice,pamount,ptypeid from Products where pid=?";
            try {
                ps=con.prepareStatement(sql);
                ps.setString(1, pid);
                rs = ps.executeQuery();
                if(rs.next()){
                    out.println("pid:"+pid+"<br>");
                    out.println("pname:"+rs.getString(1)+"<br>");
                    out.println("pprice:"+rs.getString(2)+"<br>");
                    out.println("pamount:"+rs.getString(3)+"<br>");
                    item.setPid(pid);
                    item.setPname(rs.getString(1));
                    item.setPprice(Double.parseDouble(rs.getString(2)));
                    item.setPamount(Integer.parseInt(rs.getString(3)));
                    ///////////////////////暂时为2////////////////////////////////////////////////////////////////
                    item.setBuyamount(2);
                    set.add(item);
                    session.setAttribute("set", set);
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            finally{
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                try {
                    ps.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            Iterator<Item> it=set.iterator();
            while(it.hasNext()){
                Item p=it.next();
                out.println(p.getPname()+p.getPprice());
            }
        }
       
        GlobalVars.pool.close(con);
        out.flush();
        out.close();
    }
    @Override
    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}
************
package commons;

import java.io.IOException;
//相应商品图片的产生
public class ImgProduct extends HttpServlet {
    @Override

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String key1=(String)request.getParameter("pid");
        response.setContentType("image/jpeg");
        ServletOutputStream out = response.getOutputStream();
        Connection con = GlobalVars.pool.getConn();
        System.out.println("con:" + con);
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "select pphoto from Products where pid=?";
        try {
            ps = con.prepareStatement(sql);
            ps.setInt(1, Integer.parseInt(key1));
            rs = ps.executeQuery();
           
            if (rs.next()) {
                InputStream input = rs.getBlob(1).getBinaryStream();
                byte[] b = new byte[1024];
                int x = 0;
                while ((x = input.read(b)) != -1) {
                    out.write(b, 0, x);
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }

            GlobalVars.pool.close(con);
        }
        out.flush();
        out.close();

   

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request,response);
    }
   
   

}
***********
package commons;
//商品类,描述商品的基本信息
public class Item {

    private String pid;
    private String pname;
    private double pprice;
    private int pamount;
    private int buyamount;
    public String getPid() {
        return pid;
    }
    public void setPid(String pid) {
        this.pid = pid;
    }
    public String getPname() {
        return pname;
    }
    public void setPname(String pname) {
        this.pname = pname;
    }
    public double getPprice() {
        return pprice;
    }
    public void setPprice(double pprice) {
        this.pprice = pprice;
    }
    public int getPamount() {
        return pamount;
    }
    public void setPamount(int pamount) {
        this.pamount = pamount;
    }
    public int getBuyamount() {
        return buyamount;
    }
    public void setBuyamount(int buyamount) {
        this.buyamount = buyamount;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((pid == null) ? 0 : pid.hashCode());
        return result;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Item other = (Item) obj;
        if (pid == null) {
            if (other.pid != null)
                return false;
        } else if (!pid.equals(other.pid))
            return false;
        return true;
    }

}
**********
package commons;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

import javax.jms.Session;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import db.GlobalVars;
//输入商品类别,通过数据库来查询,包括商品图片的查询
public class SelectP extends HttpServlet {
    protected void service(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String key1 = request.getParameter("key1");
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out=response.getWriter();
        Connection con = GlobalVars.pool.getConn();
        System.out.println("con:" + con);
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "select pid,pname,pprice,pphoto,pamount,ptypeid from Products where ptypeid=?";
        try {
            ps = con.prepareStatement(sql);
            ps.setInt(1, Integer.parseInt(key1));
            rs = ps.executeQuery();
            out.println("<table border=1 width=‘60%’ >");
            while (rs.next()) {
                out.println("<tr>");
                out.println("<table border=1 width=‘60%’>");
                out.println("<tr>");
                out.println("<td width=‘30’>");
                String pid = rs.getString(1);
                //图片的产生
                out.println("<img width='200px' height='90px' src='servlet/ImgProduct?pid="+pid+"'/>");
                out.println("</td>");               
                out.println("<td width=‘300’>");
                //date
                out.println(" Pid:"+rs.getString(1)+"<br>");
                out.println(" Pname:"+rs.getString(2)+"<br>");
                out.println(" Pprice:"+rs.getString(3)+"<br>");
                out.println(" Pamount:"+rs.getString(5)+"<br>");
                out.println(" Ptype:"+rs.getString(6)+"<br>");
                out.println("</td>");
               
                out.println("<td width=‘300’>");
                //date2添加到购物车
                out.println("<form method='get' action='servlet/CarServlet'>");   
                out.println("<input type='text' value='"+pid+"' name='pid'>");
                out.println("<input type='submit' value='添加到购物车'>");
                out.println("</form>");
                out.println("</td>");
                out.println("</tr>");
                out.println("</table>");
                out.println("</tr>");
            }
            out.println("</table>");
        } catch (NumberFormatException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            GlobalVars.pool.close(con);
        }
        out.flush();
        out.close();
    }
}
********************
package commons;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashSet;
import java.util.Iterator;

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

import db.GlobalVars;
//显示购物车中的商品
public class ShowServlet extends HttpServlet {
    protected void service(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out=response.getWriter();
        HashSet<Item> set=(HashSet)request.getSession().getAttribute("set");
        out.println("<h3 align='center'>欢迎使用SHOPCART1.0系统 cart显示部分<h3>");
        out.println("<hr>");
        out.println("<table align='center' border=1 width='80%' height='100'>");
        out.println("<tr>");
       
        out.println("<td>商品名称</td>");
        out.println("<td>单价</td>");
        out.println("<td>库存</td>");
        out.println("<td>购买数量</td>");
        out.println("<td>金额</td>");
        out.println("<td>退货</td>");
        out.println("</td>");
       
        out.println("</tr>");
        if(set==null){
            out.println("<tr>");
            out.println("暂时没有商品");
            out.println("</tr>");
        }
        else{
            Iterator<Item> it=set.iterator();
            while(it.hasNext()){
                Item p=it.next();
                out.println("<tr>");
               
                out.println("<td>"+p.getPname()+"</td>");
                out.println("<td>"+p.getPprice()+"</td>");
                out.println("<td>"+p.getPamount()+"</td>");
                out.println("<td>"+p.getBuyamount()+"</td>");
                out.println("<td>"+p.getPprice()*p.getBuyamount()+"</td>");
                out.println("<td>退货</td>");
                out.println("</td>");
            }   
            out.println("<tr>");
            out.println("总金额:"+0+"  "+"结算"+"清空购物车");
            out.println("</tr>");
        }
       
       
        out.println("</table>");   
        out.flush();
        out.close();
    }
}

**********
package commons;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import db.GlobalVars;
//用户的功能 ,包括用户的登入 注册 写的很乱
public class UserServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html");
        request.setCharacterEncoding("utf-8");
        String path = request.getServletPath();
        path = path.substring(0, path.indexOf("."));
        if (path.equals("/register")) {
            System.out.println("my register");
            addUser(request, response);
        } else if (path.equals("/login")) {
            System.out.println("my login");
            //findUser(request, response);
        } else {
            response.sendError(HttpServletResponse.SC_NOT_FOUND, "the path : "
                    + path + " is not a valid path.");
        }

    }

    //int uid 由时间产生;//添加用户的方法
    public void addUser(HttpServletRequest request, HttpServletResponse response) {
        Date d = new Date();
        SimpleDateFormat bartDateFormat2 = new SimpleDateFormat(
        "yyMMddHHmm");
        int uid=Integer.parseInt(bartDateFormat2.format(d));
        Connection con = GlobalVars.pool.getConn();
        System.out.println("con:" + con);
        PreparedStatement ps = null;       
        String umail = uid + "@tarena.com";
        String uname = request.getParameter("userName");
        String upassword1 = request.getParameter("password1");
        String upassword2 = request.getParameter("password2");
       
        if(findUser(request,response)==1){
            System.out.println("username, password haved");return ;
        }
        if (upassword1.equals(upassword2)) {
            String sql = "insert into UserInfo(umail,uid,uname,upassword) values(?,?,?,?)";
            System.out.println(sql);
            try {
                ps = con.prepareStatement(sql);
                int index = 1;
                ps.setString(index++, umail);
                ps.setInt(index++,uid);
                ps.setString(index++, uname);
                ps.setString(index++, upassword1);
                ps.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            finally{
                try {
                    ps.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                GlobalVars.pool.close(con);
            }
        } else {
            System.out.println("2次密码不同");
        }

    }

   
    //查找是否有username passwrod 相同的 有返回1
    public int findUser(HttpServletRequest request,
            HttpServletResponse response) {
        String uname = request.getParameter("userName");
        String upassword = request.getParameter("password1");
        Connection con = GlobalVars.pool.getConn();
        System.out.println("con:" + con);
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sql = "select uname,upassword from UserInfo where uname=?";
        try {
            ps = con.prepareStatement(sql);
            ps.setString(1, uname);
            rs = ps.executeQuery();

            while (rs.next()) {
                String name=rs.getString(1);
                String pass=rs.getString(2);
                if(name.equals(uname)&&pass.equals(upassword)){
                    return 1;
                }

            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            try {
                rs.close();
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
            try {
                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            GlobalVars.pool.close(con);
        }
        return 0;

    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}
-********

可以显示时间的js文件<SCRIPT language=javascript src="<%=path%>/js/date.js" type=text/javascript></SCRIPT>

    var date1=new Date();
        var HH=date1.getHours();
        var aa;
    if(HH<6){
                aa="凌晨";
        }else if(HH<12)
            {
                    aa="上午";   
                }else if(HH<14)
                {
                        aa="中午";
                    }else if(HH<18)
                        {
                                aa="下午";
                            }else
                                {
                                    aa="晚上";
                                    }
        document.writeln(aa+"好,欢迎光临本站!");
        var date=new Date();
        var YY=date.getYear();
        var MM=date.getMonth()+1;
        var DD=date.getDate();
        var KK=date.getDay();
        var HH=date.getHours();
        var mm=date.getMinutes();
        //var SS=date.getSeconds();
        if(MM<10)MM="0"+MM;
        if(DD<10)DD="0"+DD;
        if(HH<10)HH="0"+HH;
        if(mm<10)mm="0"+mm;
        //if(SS<10)SS="0"+SS;
        switch(KK)
        {
            case 1:
            KK="星期一";
            break;
            case 2:
            KK="星期二";
            break;
            case 3:
            KK="星期三";
            break;
            case 4:
            KK="星期四";
            break;
            case 5:
            KK="星期五";
            break;
            case 6:
            KK="星期六";
            break;
            case 0:
            KK="星期日";
            break;
           
            }
                document.writeln("&nbsp;&nbsp;"+YY+"年"+MM+"月"+DD+"日 "+KK+" "+HH+"∶"+mm)    ;   

     
************
<%@page pageEncoding="utf-8"%>
<%@taglib prefix="ui" tagdir="/WEB-INF/tags"%>
<%@taglib prefix="lg" uri="/WEB-INF/tlds/ui.tld"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>在线购物</title>
        <script type="text/javascript" src="js/prototype.js"></script>
        <script type="text/javascript">
    function login() {
        //alert($("user").value);
        var suser = $("user").value;
        var spass = $("password").value;
        var scode = $("code").value;
        var url = "http://127.0.0.1:8080/shopcart/servlet/LoginServlet.do";

        url += "?";
        url += "user=" + suser + "&";
        url += "password=" + spass + "&";
        url += "code=" + scode;
        alert(url);
        var a = new Ajax.Request(url, {
            method :"get",
            onComplete :deal
        });

    }

    function deal(a) {
        if (a.readyState == 4 && a.status == 200) {
            var flag = a.getResponseHeader("flag");
            alert(flag);
            if (flag == 1) {
                alert("成功" + a.responseText);
            } else {
                alert("失败" + a.responseText);
            }
        }

    }
   
    function selectP(a){
    alert(a);
    var aj=new XMLHttpRequest();
        var inf=document.getElementById("data");
        aj.open("post","http://127.0.0.1:8080/shopcart/servlet/SelectP?key1="+a,
        true);
        aj.onreadystatechange=function(){
             if(aj.readyState==4){
              inf.innerHTML=aj.responseText;
             }
        }
        aj.send(null);
    }
   
   
</script>
    </head>

    <body>
        <table align="center" border="1" width="65%" height="80%">
            <!-- logo -->
            <tr height="12%">
                <td>
                    <ui:logo />
                </td>
            </tr>
            <!-- data -->
            <tr>
                <td>
                    <table border="1" width="100%" height="100%">
                        <tr>
                            <td>
                                <jsp:include flush="true" page="js/navigate.jsp"></jsp:include>

                            </td>
                        </tr>
                        <tr>
                            <td>
                                <table border="1" width="100%" height="100%">
                                    <tr>
                                        <td width="140">
                                            <table border="1" width="100%" height="100%">
                                                <tr height="100">
                                                    <td>
                                                        <lg:login imgurl="servlet/ImgServlet" event="login();" />

                                                    </td>
                                                </tr>
                                                <tr height="100">
                                                    <td>
                                                        *商品类别*
                                                    </td>
                                                </tr>
                                                <tr valign="top"
                                                    style="height: 160px; margin-bottom: 0px; padding-bottom: 4px;">
                                                    <td width="100%">
                                                        <input type="button" value="Electron!"
                                                            onclick="selectP(1);" />
                                                        <br>
                                                        <input type="button" value="Book!" onclick="selectP(2);" />
                                                        <br>
                                                        <input type="button" value="Film!" onclick="selectP(3);" />
                                                        <br>
                                                        <input type="button" value="Other!" onclick="selectP(4);" />
                                                        <br>
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>

               
                                    </tr>
                                </table>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <!-- foot -->
            <tr height="20%">
                <td>
                    <ui:foot />
                </td>
            </tr>
        </table>
    </body>
</html>

 

分享到:
评论

相关推荐

    购物车Java shopcart

    在实际开发代码中,经常用到的购物车功能,采用springMVC+Mybatis 框架,可作为 学生 在开发项目中的参考!

    【JavaScript源代码】基于vuex实现购物车功能.docx

     本文实例为大家分享了vuex实现购物车功能的具体代码,供大家参考,具体内容如下 先看效果: 代码: &lt;template&gt; &lt;div class="Home"&gt; &lt;h1&gt;vuex购物车案例&lt;/h1&gt; &lt;add-from&gt;&lt;/add-from&gt; &lt;shop-cart&gt;&lt;/shop-cart&gt;...

    shop_cart_vue:我正在学习Vue JS

    shop_cart_vue 项目设置 npm install 编译和热重装以进行开发 npm run serve 编译并最小化生产 npm run build 整理和修复文件 npm run lint 自定义配置 请参阅。

    shopping-cart:用JavaScript制成的购物车

    购物车用JavaScript制成的购物车。

    如何把select下拉框的值传到id中实现代码

    完整的代码如下: HTML code: 复制代码代码如下: &lt;!– EOT; if($step==1){ print &lt;... ”shopcartbox”&gt; ”shopcart2″&gt; &lt;!– EOT; $total_all=0; $jinbi_all=0; foreach($listdb AS $name=&gt;$array)

    ShopCartAdmin:ShopCart Angular应用

    代码脚手架运行ng generate component component-name生成一个新的组件。 您还可以使用ng generate directive|pipe|service|class|guard|interface|enum|module 。建造运行ng build来构建项目。 构建工件将存储在...

    ShoppingCart:Java 控制台购物车

    购物车 Java 控制台购物车。

    毕业设计电商网站源码-lanwan_coffee:一家咖啡店的小程序

    "pages/shopcart/shopcart", //购物车页面 "pages/mine/mine", //个人主页 "pages/room/room", //房间页 "pages/address/address" //门店地址页 ], 开始前基本的准备 iconfont图标使用 在iconfont找到喜欢的,添加...

    毕业设计基于uni-app实现的水果商城微信小程序源码+项目说明.zip

    │ ├─ shopCart/ # 购物车 │ └─ ... ├─ platforms/ # 存放各平台专用页面的目录 ├─ static # 存放应用引用静态资源(如图片、视频等)的目录 ├─ unpackage/ # 打包目录 ├─ wxcomponents/ # 存放...

    asp.net 2.0 购物车源码

    购物车代码相当有用~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    jsp Cookie版购物车

    代码示范性的演示了cookie中存储商品信息的购物车.这次没有书写详细的使用讲解,并且没有注意编码规范,以及mvc之类的问题,网友下载时不要做过多评论。。。 谢谢 建议在 Firefox下用 Firebug设断点,走流程了解...

Global site tag (gtag.js) - Google Analytics