📄
字号:
{ return buffer;
}
}
}
用户订购页面使用的beans(该beans负责填写订购单):
OrderForm.java:
import java.sql.*;
public class OrderForm
{ String logname, //用户名。
realname, //真实姓名。
order_number,//图书订购号
phone,
address,
book_name, //书名。
mount; //数量。
Connection con;
Statement sql;
ResultSet rs;
public OrderForm()
{ //加载桥接器:
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
}
//设置属性值、获取属性值的方法:
public void setLogname(String name)
{ logname=name;
}
public String getLogname()
{return logname;
}
public void setRealname(String name)
{ realname=name;
}
public String getRealname()
{return realname;
}
public void setOrder_number(String number)
{ order_number=number;
}
public String getOrder_number()
{return order_number;
}
public void setBook_name(String name)
{ book_name=name;
}
public String getBook_name()
{return book_name;
}
public void setPhone(String ph)
{ phone=ph;
}
public String getPhone()
{return phone;
}
public void setAddress(String ad)
{ address=ad;
}
public String getAddress()
{return address;
}
public void setMount(String n)
{ mount=n;
}
public String getMount()
{return mount;
}
//向数据库的orderform订单表添加订购记录:
public String setOrderBook()
{ try{con=DriverManager.getConnection("jdbc:odbc:shop","","");
sql=con.createStatement();
String s=
"'"+logname+"'"+","+"'"+realname+"'"+","+"'"+order_number+"'"+","+"'"+
book_name+"'"+","+"'"+mount+"'"+","+"'"+phone+"'"+","+"'"+address+"'";
String condition="INSERT INTO orderform VALUES"+"("+s+")";
sql.executeUpdate(condition);
con.close();
return "该书被添加到你的订单";
}
catch(SQLException e)
{ return "你已经订购了该书,请去修改订单后再订购";
}
}
}
订购图书页面(效果如图8.8所示)
buybook.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="BuyBook" %>
<%@ page import="Login" %>
<%@ page import="OrderForm" %>
<jsp:useBean id="login" class="Login" scope="session" >
</jsp:useBean>
<jsp:useBean id="book" class="BuyBook" scope="session" >
</jsp:useBean>
<jsp:useBean id="orderform" class="OrderForm" scope="page" >
</jsp:useBean>
<%! //处理字符串的方法:
public String codeString(String s)
{ String str=s;
try{byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);
return str;
}
catch(Exception e)
{ return str;
}
}
%>
<HTML>
<BODY ><Font size=1>
<%@ include file="head.txt" %>
<% //如果客户直接进入该页面将被转向登录页面。
if(session.isNew())
{response.sendRedirect("userLogin.jsp");
}
//如果没有成功登录将被转向登录页面
String success=login.getSuccess();
if(success==null)
{success="";
}
if(!(success.equals("ok")))
{response.sendRedirect("userLogin.jsp");
}
%>
<%String str=response.encodeURL("buybook.jsp");
%>
<FORM action="<%=str%>" Method="post" >
<P>输入要订购的书的序列号:
<Input type=text name="id">
<Input type=submit name="g" value="提交">
</Form>
<jsp:setProperty name= "book" property="id" param="id" />
查询到如下记录:<BR>
<% StringBuffer b=book.getMessageBybook_id();
%>
<%=b%>
<P>如果准备订购该书,请填写订单,点击"添加到订单"按钮<BR>
<%if((book.getId())!=0)
{%> <FORM action="<%=str%>" method=post>
<BR>您的用户名<Input TYPE=text name=logname value="<%=login.getLogname()%>" >*
<BR>您的密码<Input TYPE=password name=password>*
<BR>订购数量<Input TYPE=text name=mount value=1>(单位:册)
<Input type=submit name="k" value="提交订单">
</FORM>
<%}
%>
<% if((book.getId())!=0)
{ String name=request.getParameter("logname");//获取在表单中提交的用户名。
if(name==null)
{name="";
}
name=codeString(name);
String word=request.getParameter("password");//获取在表单中提交的密码。
if(word==null)
{word="";
}
word=codeString(word);
String mount=request.getParameter("mount");//获取在表单中提交的密码。
mount=codeString(mount);
//判断提交的名字和密码是否正确:
//如果正确就初始化orderform的值,并添加数据到订单。
if((name.equals(login.getLogname()))&&(word.equals(login.getPassword())))
{
%>
<jsp:setProperty name= "orderform" property="logname" value="<%=login.getLogname()%>"/>
<jsp:setProperty name= "orderform" property="realname" value="<%=login.getRealname()%>"/>
<jsp:setProperty name= "orderform"
property="order_number" value="<%=book.getOrder_number()%>"/>
<jsp:setProperty name= "orderform"
property="book_name" value="<%=book.getBook_name()%>"/>
<jsp:setProperty name= "orderform" property="mount" value="<%=mount%>"/>
<jsp:setProperty name= "orderform" property="phone" value="<%=login.getPhone()%>"/>
<jsp:setProperty name= "orderform" property="address" value="<%=login.getAddress()%>"/>
<% String ms=orderform.setOrderBook();
out.print("<BR>"+ms);
}
else
{ out.print("<BR>"+"您必须输入正确的密码和用户名");
}
}
%>
</Font>
</BODY>
</HTML>
查看订单页面(效果如图8.9所示)
showOrderForm.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="Login" %>
<jsp:useBean id="login" class="Login" scope="session" >
</jsp:useBean>
<% //如果客户直接进入该页面将被转向登录页面。
if(session.isNew())
{response.sendRedirect("userLogin.jsp");
}
//如果没有成功登录将被转向登录页面
String success=login.getSuccess();
if(success==null)
{success="";
}
if(!(success.equals("ok")))
{response.sendRedirect("userLogin.jsp");
}
%>
<HTML>
<BODY ><Font size=1>
<P>你的订单:
<% String logname=login.getLogname();
if(logname==null)
{logname="";
}
Connection con;
Statement sql;
ResultSet rs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try{ con=DriverManager.getConnection("jdbc:odbc:shop","","");
sql=con.createStatement();
String condition="SELECT * FROM orderform WHERE logname = "+"'"+logname+"'";
rs=sql.executeQuery(condition);
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=50>"+"<Font size=1>"+"用户名");
out.print("<TH width=50>"+"<Font size=1>"+"姓名");
out.print("<TH width=160>"+"<Font size=1>"+"订购号");
out.print("<TH width=160>"+"<Font size=1>"+"书名");
out.print("<TH width=60>"+"<Font size=1>"+"订购数量");
out.print("<TH width=60>"+"<Font size=1>"+"电话");
out.print("<TH width=160>"+"<Font size=1>"+"地址");
out.print("</TR>");
while(rs.next())
{ out.print("<TR>");
out.print("<TD >"+"<Font size=1>"+rs.getString(1)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(2)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(3)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(4)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(5)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(6)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(7)+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
con.close();
}
catch(SQLException e)
{
}
%>
</BODY>
</HTML>
选择修改方式的页面(效果如图8.10所示)
modifyForm.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="Login" %>
<jsp:useBean id="login" class="Login" scope="session" >
</jsp:useBean>
<% //如果客户直接进入该页面将被转向登录页面。
if(session.isNew())
{response.sendRedirect("userLogin.jsp");
}
//如果没有成功登录将被转向登录页面
String success=login.getSuccess();
if(success==null)
{success="";
}
if(!(success.equals("ok")))
{response.sendRedirect("userLogin.jsp");
}
%>
<HTML>
<BODY ><Font size=1>
<%@ include file="head.txt" %>
<P>你的订单:
<% String logname=login.getLogname();
if(logname==null)
{logname="";
}
Connection con;
Statement sql;
ResultSet rs;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try{ con=DriverManager.getConnection("jdbc:odbc:shop","","");
sql=con.createStatement();
String condition="SELECT * FROM orderform WHERE logname = "+"'"+logname+"'";
rs=sql.executeQuery(condition);
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=50>"+"<Font size=1>"+"用户名");
out.print("<TH width=50>"+"<Font size=1>"+"姓名");
out.print("<TH width=160>"+"<Font size=1>"+"订购号");
out.print("<TH width=160>"+"<Font size=1>"+"书名");
out.print("<TH width=60>"+"<Font size=1>"+"订购数量");
out.print("<TH width=60>"+"<Font size=1>"+"电话");
out.print("<TH width=160>"+"<Font size=1>"+"地址");
out.print("</TR>");
while(rs.next())
{ out.print("<TR>");
out.print("<TD >"+"<Font size=1>"+rs.getString(1)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(2)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(3)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(4)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(5)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(6)+"</TD>");
out.print("<TD >"+"<Font size=1>"+rs.getString(7)+"</TD>");
out.print("</TR>") ;
}
out.print("</Table>");
con.close();
}
catch(SQLException e)
{ }
%>
<P>修改订单:
<%String str1=response.encodeURL("deletForm.jsp");
String str2=response.encodeURL("changeForm.jsp");
%>
<FORM action="<%=str1%>" method=post>
<BR>输入订购号<Input TYPE=text name=order_number >*
<Input type=submit name="k" value="提交删除">
</FORM>
<FORM action="<%=str2%>" method=post>
<BR>输入订购号<Input TYPE=text name=order_number >*
<BR>输入新定数<Input TYPE=text name=mount >*
<Input type=submit name="p" value="提交修改">
</FORM>
</BODY>
</HTML>
删除订购单页面(效果如图8.11所示)
deleteForm.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="Login" %>
<jsp:useBean id="login" class="Login" scope="session" >
</jsp:useBean>
<html>
<BODY>
<% //如果客户直接进入该页面将被转向登录页面。
if(session.isNew())
{response.sendRedirect("userLogin.jsp");
}
//如果没有成功登录将被转向登录页面
String success=login.getSuccess();
if(success==null)
{success="";
}
if(!(success.equals("ok")))
{response.sendRedirect("userLogin.jsp");
}
%>
<% //获取订单号:
String order_number=request.getParameter("order_number");
if(order_number==null)
{order_number="";
}
byte b[]=order_number.getBytes("ISO-8859-1");
order_number=new String(b);
Connection con=null;
Statement sql=null;
ResultSet rs=null;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try
{con=DriverManager.getConnection("jdbc:odbc:shop","","");
sql=con.createStatement();
String condition=
"DELETE FROM orderform WHERE order_number="+"'"+order_number+"'";
sql.executeUpdate(condition); //删除。
out.print("<BR>"+"订单条款被删除一项");
}
catch(SQLException e)
{ out.print("<BR>"+"删除失败");
}
%>
</BODy>
</HTML>
修改订购数量页面(效果如图8.12所示)
changeForm.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="Login" %>
<jsp:useBean id="login" class="Login" scope="session" >
</jsp:useBean>
<html>
<BODY>
<%@ include file="head.txt" %>
<% //如果客户直接进入该页面将被转向登录页面。
if(session.isNew())
{response.sendRedirect("userLogin.jsp");
}
//如果没有成功登录将被转向登录页面
String success=login.getSuccess();
if(success==null)
{success="";
}
if(!(success.equals("ok")))
{response.sendRedirect("userLogin.jsp");
}
%>
<% //获取订单号:
String order_number=request.getParameter("order_number");
if(order_number==null)
{order_number="";
}
byte b[]=order_number.getBytes("ISO-8859-1");
order_number=new String(b);
//获取新的定数:
String newMount=request.getParameter("mount");
if(newMount==null)
{newMount="0";
}
byte c[]=newMount.getBytes("ISO-8859-1");
newMount=new String(c);
Connection con=null;
Statement sql=null;
ResultSet rs=null;
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try
{con=DriverManager.getConnection("jdbc:odbc:shop","","");
sql=con.createStatement();
String condition=
"UPDATE orderform SET mount = "+newMount+" WHERE order_number="+"'"+order_number+"'";
//更新订单:
sql.executeUpdate(condition);
out.print("<BR>"+"订单被更新");
}
catch(SQLException e)
{ out.print("<BR>"+"更新失败");
}
%>
</BODy>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -