智能手机销售网后台管理系统手机销售网程序设计
信管117136钟晓威
- 数据库设计
- 功能实现
- 后台设计
- dtree实现树形菜单
- 数据库设计
- 数据库连接
try { String uri= "jdbc:mysql://127.0.0.1/mobileshop";
String user="root";
String password="";
con=DriverManager.getConnection(uri,user,password);
sql=con.createStatement();
- 系统管理
head.txt
<%@ page contentType="text/html;charset=GB2312" %>
<div align="center"><H2>“智多星”智能手机销售网</H2><table cellSpacing="1" cellPadding="1" width="660" align="center" border="0" ><tr valign="bottom"><td><A href="inputRegisterMess.jsp"><font size=2>注册</font></A></td><td><A href="login.jsp"><font size=2>登录</font></A></td><td><A href="lookMobile.jsp"><font size=2>浏览手机</font></A></td><td><A href="searchMobile.jsp"><font size=2>查询手机</font></A></td><td><A href="lookShoppingCar.jsp"><font size=2>查看购物车</font></A></td><td><A href="lookOrderForm.jsp"><font size=2>查看订单</font></A></td><td><A href="exitServlet"><font size=2>退出</font></A></td><td><A href="index.jsp"><font size=2>主页</font></A></td><td><A href="houtai.jsp"><font size=2>后台管理</font></A></td></tr></Font>
</table>
</div>
index.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<HTML> <BODY>
<HEAD><%@ include file="head.txt" %></HEAD>
<title>首页</title>
<CENTER> <h1><font Size=4 color=blue>欢迎光临“智多星”智能手机销售网</font></h1>
<img src="image/welcome.jpg" width=500 height=400 ></img>
</CENTER>
</BODY></HTML>
web.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app>
<servlet> <servlet-name>registerServlet</servlet-name><servlet-class>myservlet.control.HandleRegister</servlet-class>
</servlet>
<servlet-mapping><servlet-name>registerServlet</servlet-name><url-pattern>/registerServlet</url-pattern>
</servlet-mapping>
<servlet><servlet-name>loginServlet</servlet-name><servlet-class>myservlet.control.HandleLogin</servlet-class>
</servlet>
<servlet-mapping><servlet-name>loginServlet</servlet-name><url-pattern>/loginServlet</url-pattern>
</servlet-mapping>
<servlet><servlet-name>deleteServlet</servlet-name><servlet-class>myservlet.control.HandleDelete</servlet-class>
</servlet>
<servlet-mapping><servlet-name>deleteServlet</servlet-name><url-pattern>/deleteServlet</url-pattern>
</servlet-mapping>
<servlet><servlet-name>buyServlet</servlet-name><servlet-class>myservlet.control.HandleBuyGoods</servlet-class>
</servlet>
<servlet-mapping><servlet-name>buyServlet</servlet-name><url-pattern>/buyServlet</url-pattern>
</servlet-mapping>
<servlet><servlet-name>queryServlet</servlet-name><servlet-class>myservlet.control.QueryAllRecord</servlet-class>
</servlet>
<servlet-mapping><servlet-name>queryServlet</servlet-name><url-pattern>/queryServlet</url-pattern>
</servlet-mapping>
<servlet><servlet-name>putGoodsServlet</servlet-name><servlet-class>myservlet.control.PutGoodsToCar</servlet-class>
</servlet>
<servlet-mapping><servlet-name>putGoodsServlet</servlet-name><url-pattern>/putGoodsServlet</url-pattern>
</servlet-mapping>
<servlet><servlet-name>searchByConditionServlet</servlet-name><servlet-class>myservlet.control.SearchByCondition</servlet-class>
</servlet>
<servlet-mapping><servlet-name>searchByConditionServlet</servlet-name><url-pattern>/searchByConditionServlet</url-pattern>
</servlet-mapping>
<servlet><servlet-name>exitServlet</servlet-name><servlet-class>myservlet.control.HandleExit</servlet-class>
</servlet>
<servlet-mapping><servlet-name>exitServlet</servlet-name><url-pattern>/exitServlet</url-pattern>
</servlet-mapping>
</web-app>
会员注册inputRegisterMess.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<jsp:useBean id="userBean" class="mybean.data.Register" scope="request"/>
<HEAD><%@ include file="head.txt" %></HEAD>
<title>注册页面</title>
<HTML><BODY bgcolor=pink><Font size=2>
<div align="center">
<FORM action="registerServlet" method="post" name=form>
<table>用户名由字母、数字、下划线构成,*注释的项必须填写。<tr><td>*用户名称:</td><td><Input type=text name="logname" ></td><td>*用户密码:</td><td><Input type=password name="password"></td></tr><tr><td>*重复密码:</td><td><Input type=password name="again_password"></td><td>联系电话:</td><td><Input type=text name="phone"></td></tr><tr><td>邮寄地址:</td><td><Input type=text name="address"></td><td>真实姓名:</td><td><Input type=text name="realname"></td><td><Input type=submit name="g" value="提交"></td> </tr>
</table>
</Form>
</div >
<div align="center">
<p> 注册反馈:
<jsp:getProperty name="userBean" property="backNews" />
<table border=3><tr><td>会员名称:</td><td><jsp:getProperty name="userBean" property="logname"/></td></tr><tr><td>姓名:</td><td><jsp:getProperty name="userBean" property="realname"/></td></tr><tr><td>地址:</td><td><jsp:getProperty name="userBean" property="address"/></td></tr><tr><td>电话:</td><td><jsp:getProperty name="userBean" property="phone"/></td></tr>
</table></div >
</Body></HTML>
Register.java
package mybean.data;
public class Register{ String logname="" , phone="",address="",realname="",backNews="请输入信息"; public void setLogname(String logname){ this.logname=logname;}public String getLogname(){ return logname;}public void setPhone(String phone){ this.phone=phone;}public String getPhone(){ return phone;}public void setAddress(String address){ this.address=address;}public String getAddress(){ return address;}public void setRealname(String realname){ this.realname=realname;}public String getRealname(){ return realname;}public void setBackNews(String backNews){ this.backNews=backNews;}public String getBackNews(){ return backNews;}
}
HandleRegister.java
package myservlet.control;
import mybean.data.*;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HandleRegister extends HttpServlet {public void init(ServletConfig config) throws ServletException { super.init(config);try { Class.forName("com.mysql.jdbc.Driver");}catch(Exception e){} }public String handleString(String s){ try{ byte bb[]=s.getBytes("iso-8859-1");s=new String(bb);}catch(Exception ee){} return s; }public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {String uri="jdbc:mysql://127.0.0.1/mobileshop?"+"user=root&password=&characterEncoding=gb2312";Connection con; PreparedStatement sql; Register userBean=new Register(); //创建的Javabean模型request.setAttribute("userBean",userBean);String logname=request.getParameter("logname").trim();String password=request.getParameter("password").trim();String again_password=request.getParameter("again_password").trim();String phone=request.getParameter("phone").trim();String address=request.getParameter("address").trim();String realname=request.getParameter("realname").trim();if(logname==null)logname="";if(password==null)password="";if(!password.equals(again_password)) { userBean.setBackNews("两次密码不同,注册失败,");RequestDispatcher dispatcher= request.getRequestDispatcher("inputRegisterMess.jsp");dispatcher.forward(request, response);//转发return;}boolean isLD=true;for(int i=0;i<logname.length();i++){char c=logname.charAt(i);if(!((c<='z'&&c>='a')||(c<='Z'&&c>='A')||(c<='9'&&c>='0'))) isLD=false;} boolean boo=logname.length()>0&&password.length()>0&&isLD;String backNews="";try{ con=DriverManager.getConnection(uri);String insertCondition="INSERT INTO user VALUES (?,?,?,?,?)";sql=con.prepareStatement(insertCondition);if(boo){ sql.setString(1,handleString(logname));sql.setString(2,handleString(password));sql.setString(3,handleString(phone));sql.setString(4,handleString(address));sql.setString(5,handleString(realname));int m=sql.executeUpdate();if(m!=0){backNews="注册成功";userBean.setBackNews(backNews);userBean.setLogname(logname);userBean.setPhone(handleString(phone));userBean.setAddress(handleString(address));userBean.setRealname(handleString(realname));}}else {backNews="信息填写不完整或名字中有非法字符";userBean.setBackNews(backNews); }con.close();}catch(SQLException exp){backNews="该会员名已被使用,请您更换名字"+exp;userBean.setBackNews(backNews); }RequestDispatcher dispatcher= request.getRequestDispatcher("inputRegisterMess.jsp");dispatcher.forward(request, response);//转发}public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException {doPost(request,response);}
}
会员登陆
login.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<jsp:useBean id="loginBean" class="mybean.data.Login" scope="session"/>
<HTML><HEAD><%@ include file="head.txt" %></HEAD>
<BODY bgcolor=pink><font size=2>
<div align="center">
<FORM action="loginServlet" Method="post">
<table border=2>
<tr> <th>登录</th></tr>
<tr><td>登录名称:<Input type=text name="logname"></td></tr>
<tr><td>输入密码:<Input type=password name="password"></td></tr>
</table>
<Input type=submit name="g" value="提交">
</form>
</div>
<div align="center" >
登录反馈信息:<br>
<jsp:getProperty name="loginBean" property="backNews"/>
<br>登录名称:<br><jsp:getProperty name="loginBean" property="logname"/>
</div>
</font>
</BODY></HTML>
Login.java
package mybean.data;
import java.util.*;
public class Login {String logname="",backNews="未登录";LinkedList<String> car; //用户的购物车public Login() {car = new LinkedList<String>();}public void setLogname(String logname){ this.logname = logname;}public String getLogname(){return logname;}public void setBackNews(String s) {backNews = s;} public String getBackNews(){return backNews;}public LinkedList<String> getCar() { return car;}
}
HandleLogin.java
package myservlet.control;
import mybean.data.*;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class HandleLogin extends HttpServlet{public void init(ServletConfig config) throws ServletException{super.init(config);try{ Class.forName("com.mysql.jdbc.Driver");}catch(Exception e){} }public String handleString(String s){try{ byte bb[]=s.getBytes("iso-8859-1");s=new String(bb);}catch(Exception ee){} return s; }public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{Connection con; Statement sql; String logname=request.getParameter("logname").trim(),password=request.getParameter("password").trim();logname=handleString(logname);password=handleString(password);String uri="jdbc:mysql://127.0.0.1/mobileshop?"+"user=root&password=&characterEncoding=gb2312";boolean boo=(logname.length()>0)&&(password.length()>0); try{ con=DriverManager.getConnection(uri);String condition="select * from user where logname = '"+logname+"' and password ='"+password+"'";sql=con.createStatement(); if(boo){ResultSet rs=sql.executeQuery(condition);boolean m=rs.next();if(m==true){ //调用登录成功的方法:success(request,response,logname,password); RequestDispatcher dispatcher=request.getRequestDispatcher("login.jsp");//转发dispatcher.forward(request,response);}else{String backNews="您输入的用户名不存在,或密码不般配";//调用登录失败的方法:fail(request,response,logname,backNews); }}else{String backNews="请输入用户名和密码";fail(request,response,logname,backNews);}con.close();}catch(SQLException exp){String backNews=""+exp;fail(request,response,logname,backNews);}}public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{doPost(request,response);}public void success(HttpServletRequest request,HttpServletResponse response,String logname,String password) {Login loginBean=null;HttpSession session=request.getSession(true);try{ loginBean=(Login)session.getAttribute("loginBean");if(loginBean==null){loginBean=new Login(); //创建新的数据模型 session.setAttribute("loginBean",loginBean);loginBean=(Login)session.getAttribute("loginBean");}String name =loginBean.getLogname();if(name.equals(logname)) {loginBean.setBackNews(logname+"已经登录了");loginBean.setLogname(logname);}else { //数据模型存储新的登录用户loginBean.setBackNews(logname+"登录成功");loginBean.setLogname(logname);}}catch(Exception ee){loginBean=new Login(); session.setAttribute("loginBean",loginBean);loginBean.setBackNews(logname+"登录成功");loginBean.setLogname(logname);}}public void fail(HttpServletRequest request,HttpServletResponse response,String logname,String backNews) {response.setContentType("text/html;charset=GB2312");try {PrintWriter out=response.get