六,本设计Servlet&Jsp代码实现过程
用一句话概括,用户在客户端请求jsp页面,jsp页面将结果提交到Servlet,由Servlet负责处理结果,访问数据库等操作,并将参数结果放在request,session,application等元素中,然后通过请求转发和重定向转发到其他jsp页面或者Servlet
6.1进入主页和查看书籍详细信息功能
客户通过客户端请求地址http://localhost:8080/ShoppingCart/frame.jsp,请求主页面,主页面采用框架标签frameset,框架中页面再转发请求Http://localhost:8080/ShoppingCart/PageQueryServlet, 返回的books.jsp页面
frame.Jsp的代码
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>喵喵网上书店</title>
- </head>
-
- <frameset cols="25%,75%" frameborder="NO" border="0" framespacing="0">
- <frame src="login.jsp" noresize scrolling="no" name="leftframe">
- <frame src="Http://localhost:8080/ShoppingCart/PageQueryServlet" name="rightframe" noresize scrolling="yes">
- </frameset>
- </html>
PageQueryServlet.Java的Servlet是分页显示书籍的代码
- package com.servlets;
-
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.List;
-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import com.Dao.PageQueryDao;
- import com.beans.Book;
-
- public class PageQueryServlet extends HttpServlet {
-
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- int currpage=1;
- if(request.getParameter("page")!=null){
- currpage=Integer.parseInt(request.getParameter("page"));
- }
-
- PageQueryDao pagedao=new PageQueryDao();
- List<Book> list=pagedao.getPageList(currpage);//查询当前页记录
- request.setAttribute("list", list);
- int pages; //计算查询总页数
- int count=pagedao.FindCounts();
- if(count%Book.PAGE_SIZE==0){
- pages=count/Book.PAGE_SIZE;
- }
- else{
- pages=count/Book.PAGE_SIZE+1;
- }
-
- StringBuffer sb=new StringBuffer();
- //构建分页条
- for(int i=1;i<=pages;i++){
- if(i==currpage){
- sb.append("『" + i + "』");
- }
- else{
- sb.append("<a href='PageQueryServlet?page="+i+"'>"+i+"</a>");
- }
- sb.append(" ");
- }
- request.setAttribute("bar", sb.toString());
- request.getRequestDispatcher("books.jsp").forward(request, response); //请求转发
- }
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- doGet(request, response);
- }
-
- }
Books.jsp是显示书籍
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%@page import="java.util.List"%>
- <%@page import="com.beans.Book"%><html>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>图书信息列表</title>
-
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- <style type="text/css">
- a:link{color:#FF4500;text-decoration:none}/*未访问,红色,无下划线*/
- a:active{color:blue;}/*激活,红色*/
- a:visited{color:red;text-decoration:none}/*已访问,紫色,无下划线*/
- a:hover{color:yellow;text-decoration:underline}/*鼠标移动上面,蓝色,下划线*/
- </style>
- </head>
-
- <body bgcolor="#98FB98" >
- <br><br>
- <table align="center" width="900">
- <tr>
- <td align="center" colspan="6" valign="baseline">
- <h2 style=" font-family:隶书;color:#0A0A0A;font-size:50px">喵喵网上书店</h2>
- </td>
- </tr>
- <%! int i=1,j=1; %>
- <% List<Book> list=(List<Book>)request.getAttribute("list");%>
- <% for(j=1;j<=2;j++){ %>
- <tr >
- <%
- for(Book b:list){
- if(j==2){
- if(b.getBookId()<=3||(b.getBookId()>=7&&b.getBookId()<=9)) continue;
- }
- %>
- <td width="100" height="140"><img src="images/<%=String.valueOf(b.getBookId()-1) %>.jpg"/></td>
- <td width="160">
- <font color="#0000FF" face="隶书">ISDN :<%=b.getBookId() %></font><br>
- <font color="#0000FF" face="隶书"> 书 名:<%=b.getName() %></font><br>
- <font color="#0000FF" face="隶书"> 作 者:<%=b.getAuthor() %></font><br>
- <font color="#0000FF" face="隶书">出 版:<%=b.getPublisher() %></font><br>
- <font color="#0000FF" face="隶书">价 格:<%=b.getPrice() %> </font><br>
- <a href="BookInfo/<%=b.getBookId()%>.jsp?bookid=<%=b.getBookId()%>">查看详细信息</a>
- </td>
- <% if(b.getBookId()%3==0) break; %>
- <%} %>
- </tr>
- <%} %>
- <tr>
- <td align="right" colspan="6"><%= request.getAttribute("bar") %></td>
- </tr>
- </table>
- </body>
- </html>
结果图:

点击“查看详细信息”会把该书的bookId放入request中,然后跳转到相应的书的详细信息页:
Id=1的书的代码,1.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <%@ page import="com.Dao.BookDao" %>
- <%@ page import="com.beans.Book" %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>三国演义</title>
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- <style type="text/css">
- a:link{color:blue;text-decoration:none}/*未访问,红色,无下划线*/
- a:active{color:blue;}/*激活,红色*/
- a:visited{color:yellow;text-decoration:none}/*已访问,紫色,无下划线*/
- a:hover{color:blue;text-decoration:underline}/*鼠标移动上面,蓝色,下划线*/
- </style>
-
- </head>
- <body bgcolor="#98FB98" >
- <% int bookid=Integer.parseInt(request.getParameter("bookid"));
- BookDao bookdao=new BookDao();
- Book b=bookdao.getBookById(bookid);
- String msg=(String)request.getAttribute("msg");
- %>
-
- <br><br><br><br>
- <form action="http://localhost:8080/ShoppingCart/CheckLogin?bookid=<%=b.getBookId() %>" method="post" name="checkform">
- <table align="center" width="800">
- <tr>
- <td width="100" height="140"><img src="Http://localhost:8080/ShoppingCart/images/<%=String.valueOf(b.getBookId()-1) %>.jpg"/></td>
- <td >
- <font color="#000000" face="隶书" size="4">ISDN :<%=b.getBookId() %></font><br>
- <font color="#000000" face="隶书" size="4"> 书 名:<%=b.getName() %></font><br>
- <font color="#000000" face="隶书" size="4"> 作 者:<%=b.getAuthor() %></font><br>
- <font color="#000000" face="隶书" size="4">出 版:<%=b.getPublisher() %></font><br>
- <font color="#000000" face="隶书" size="4">价 格:<%=b.getPrice() %> </font><br>
- </td>
- </tr>
- <tr><td colspan="2"> <hr color="#FF0000"></td></tr>
-
- <tr>
- <td colspan="2"> <h2><font color="#8B0000" face="隶书">简介:</font></h2></td>
- </tr>
-
- <tr>
- <td colspan="2">
- <p style="font-family:'楷体'"> 《三国演义》是中国第一部长篇章回体历史演义小说,以描写东汉末年的战争为主,反映了魏、蜀、吴三个政治集团之间的政治和军事斗争。分为黄巾之乱、董卓之乱、三国鼎立三大部分。在广阔的背景上,上演了一幕幕气势磅礴的战争场面。</p>
- <p style="font-family:'楷体'"> 罗贯中将兵法三十六计融于字里行间,既有情节,也有兵法韬略。本书反映了丰富的历史内容,人物名称、地理名称、主要事件和人物性格与《三国志》基本相同,是在固定形象基础上,进行再发挥,这也是历史演义小说的套路。本书一方面反映了真实的三国历史,照顾到读者希望了解真实历史的需要;另一方面,根据明朝社会的实际情况对三国人物进行了夸张、美化、丑化等等。</p></td>
- </tr>
-
- <tr>
- <td colspan="2" align="right">
- <input value="加入购物车" type="submit"> <a href="Http://localhost:8080/ShoppingCart/PageQueryServlet">继续购物</a></td>
- </tr>
- </table>
- </form>
- <% if(msg!=null){ %>
- <%=msg %>
- <%} %>
- </body>
- </html>
结果图:
在该页面中点击“加入购物车”,请求会提交到CheckLogin的Servlet,在该Servlet中完成检查用户有无登录的操作和将书加入到该用户的购物车的操作。如果用户为登录会“用户为登录”窗口提示信息,如果登录了,就成功加入了该用户的购物车,感觉淘宝的模式有点像,点击该用户的“查看我的购物车”即可看到刚加的书籍。若购物车中有书籍会提示“此书已加入购物车,请勿重复添加!”,只需在购物车中调整购买数量即可。
CheckLogin.java
- package com.servlets;
-
- import java.io.IOException;
- import java.io.PrintWriter;
-
- 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 com.Dao.BookDao;
- import com.Dao.CartDao;
- import com.beans.Book;
-
- public class CheckLogin extends HttpServlet {
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- response.setCharacterEncoding("gb2312");
- HttpSession session=request.getSession();
- //String user=(String) session.getAttribute("user");//从session中获取用户
-
- System.out.println("加入购物车");
- String bookid=request.getParameter("bookid");
- BookDao bookdao=new BookDao();
- Book b=bookdao.getBookById(Integer.parseInt(bookid));//通过传过来的bookid返回书的对象
-
- System.out.println("以获取用户");
- if( session.getAttribute("userid")==null){//如果用户未登录
- System.out.println("用户未空");
- request.setAttribute("msg", "<script language='javascript'>window.alert('用户未登录!');</script>");
- request.getRequestDispatcher("BookInfo/"+b.getBookId()+".jsp").forward(request, response);
- }
- else{
- //加入购物车的操作
- CartDao cartdao=new CartDao();
- String userid=(String)session.getAttribute("userid");
- //System.out.println(b.getName());
- //System.out.println((String)session.getAttribute("userid"));
- boolean cc=cartdao.isContainBook(userid, bookid);
- if(cc){//如果此书已添加
- request.setAttribute("msg", "<script language='javascript'>window.alert('此书已加入购物车,请勿重复添加!');</script>");
- request.getRequestDispatcher("BookInfo/"+b.getBookId()+".jsp").forward(request, response);
- }else{//如果此书没添加
-
- boolean bb=cartdao.InsertBook((String)session.getAttribute("userid"), b);
- if(bb){//如果插入书籍成功
- /*PrintWriter out=response.getWriter();
- out.print("<script language='javascript'>window.alert('成功加入购物车!');</script>");
- out.flush();
- out.close();*/
- request.setAttribute("msg", "<script language='javascript'>window.alert('成功加入购物车!');</script>");
- request.getRequestDispatcher("BookInfo/"+b.getBookId()+".jsp").forward(request, response);
- }
- else{
- request.setAttribute("msg", "<script language='javascript'>window.alert('加入购物车失败!');</script>");
- request.getRequestDispatcher("BookInfo/"+b.getBookId()+".jsp").forward(request, response);
- }
-
- }
- }
- }
-
- }
6.2用户注册和用户登录功能
在用户登录使用之前用户首先要注册,注册过程我采用的是为每个用户新建一张表,这张表就代表了该用户的购物车,存放的是该用户选购的书籍
Register.jsp是显示注册的代码
结果图:

该注册页面点击“取消”会返回显示书籍的主页面,点击“注册”请求提交到RegServlet,注册成功之后会弹出一个注册成功提示框并且数据库会生成以账号为表名的表:

RegServlet.java
- package com.servlets;
-
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- import com.Dao.UserDao;
- import com.tools.DBConnection;
-
- public class RegServlet extends HttpServlet {
-
-
- private static final long serialVersionUID = 1L;
-
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- request.setCharacterEncoding("UTF-8");
- response.setCharacterEncoding("UTF-8");
- response.setContentType("text/html");
-
- String id= request.getParameter("ID");
- String password=request.getParameter("Password");
- String sex= request.getParameter("Sex");
- String phone=request.getParameter("Phone");
- String home=request.getParameter("Home");
- String email=request.getParameter("Email");
- String header=request.getParameter("Header");
-
- DBConnection DB=new DBConnection();
- Connection conn=null;
- conn=DB.getCon();
- if(conn!=null){
- try {
- UserDao dao=new UserDao();
- if(!dao.isContainUser(id)){//是否存在用户
- String sql="insert into users values(?,?,?,?,?,?,?)";
- PreparedStatement pstm=conn.prepareStatement(sql);
- pstm.setString(1, id);
- pstm.setString(2, password);
- pstm.setString(3, sex);
- pstm.setString(4, phone);
- pstm.setString(5, home);
- pstm.setString(6, email);
- pstm.setString(7, header);
- pstm.executeUpdate();
- System.out.println("注册成功!");
- //同时新建一张购车表,即每个用户注册成功都会建一张表
- String sql1="create table "+id+"(ID int(20),Name varchar(20),Price varchar(20),Num int(20),Total int(20),primary key(ID))";
- PreparedStatement pstm1=conn.prepareStatement(sql1);
- pstm1.executeUpdate();
- response.sendRedirect("Http://localhost:8080/ShoppingCart/PageQueryServlet");//登录成功后重定向到books界面
- }
- else{
- PrintWriter out=response.getWriter();
- out.print("<script language='javascript'>window.alert('注册失败!');</script>");
- out.flush();
- out.close();
- System.out.println("用户已存在!");
- }
-
-
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- }
- }
- }
Bug分析:
本来想搞个上传头像的功能,但是感觉图片规格大小之类的技术不太会,只想出了使用剪辑好了的图片作为备选项,想实现选中了某个头像就更换显示对应的头像,这涉及了web前端的JavaScript知识,我只懂一点点,所以就没有修改了……
用户登录功能:
Login.jsp
该页面有三部分,登录框,公告信息,友情链接。
登录框很简单form提交到LoginServlet就可以了,在LoginServlet中查询数据库判断等操作:
LoginServlet.java
- package com.servlets;
-
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.List;
-
- 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 com.Dao.BookDao;
- import com.Dao.UserDao;
- import com.beans.Book;
- import com.beans.User;
-
- public class LoginServlet extends HttpServlet {
-
- private static final long serialVersionUID = 1L;
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- doPost(request, response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- request.setCharacterEncoding("UTF-8");
- response.setCharacterEncoding("UTF-8");
- response.setContentType("text/html");
- System.out.println("接收数据");
- String id=request.getParameter("id");//获得用户名
- String password=request.getParameter("password");//获得密码
- UserDao dao=new UserDao();
- BookDao bdao=new BookDao();
- User user=null;
- user=dao.getUser(id, password);
- HttpSession session=request.getSession();
-
- if(user!=null){
- System.out.println("用户已查到");
- session.setAttribute("userid",user.getID());//把查到的用户放进session中,便于登录检查
- response.sendRedirect("loginsuccess.jsp");
- }
- else
- {
- PrintWriter out=response.getWriter();
- out.print("<script type='text/javascript'>");
- out.print("window.alert('用户名或密码不正确!');");
- out.print("</script>");
- out.flush();
- out.close();
- }
-
- }
-
- }
公告信息采用Ajax技术,不刷新页面更新
关键代码:
- <tr bgcolor="#FF0000">
- <td colspan="2" >
- 公告信息:
- </td>
- </tr>
- <tr >
- <td colspan="2" width="215" height="100">
- <marquee direction="up" scrollamount="3" onmouseout="this.start()" onmouseover="this.stop()">
- <div id="showInfo" ></div>
- </marquee>
- </td>
- </tr>
主要是javascript代码
- <script type="text/javascript">
- /***********错误处理方法*********/
- function onerror(){
- alert("您的操作有误!");
- }
- /***********实例化ajax对象的方法*********/
- function getInfo(){
- var loader=new net.AjaxRequest("getInfo.jsp?nocache="+new Date().getTime(),deal_getInfo,onerror,"GET");
-
- }
- /***********回调函数*********/
- function deal_getInfo(){
- document.getElementById("showInfo").innerHTML=this.req.responseText;
- }
-
- window.onload=function(){
- getInfo(); //调用getInfo()方法获取公告信息
- window.setInterval("getInfo()", 600000); //每隔10分钟调用一次getInfo()方法
- }
- </script>
结果图:


6.3查看购物车,商品结算和生成订单功能
点击“查看我的购物车”,表单提交到CartServlet,在此CartServlet中查询该用户的购物车表,查询所有已添加到购物车的书籍,并请求转发到Carts.jsp
CartServlet.java
- package com.servlets;
-
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.List;
-
- 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 com.Dao.CartDao;
- import com.beans.CartBook;
-
- public class CartServlet extends HttpServlet {
-
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- doPost(request, response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- HttpSession session=request.getSession();
- String userId=(String) session.getAttribute("userid");//登录成功后用户的Id放在session中
- System.out.println(userId);
-
- String m=request.getParameter("m");//删除书籍的时候判断标记
- if(m!=null){
- if(m.equals("1")){
- request.setAttribute("msg", "<script language='javascript'>window.alert('成功删除!');</script>");
- }
- else if(m.equals("0")){
- request.setAttribute("msg", "<script language='javascript'>window.alert('删除失败!');</script>");
- }
- else if(m.equals("2")){
- request.setAttribute("msg", "<script language='javascript'>window.alert('清空购物车失败!');</script>");
- }
- }
-
- CartDao ccdao=new CartDao();
- List<CartBook> list=ccdao.getAllCartBooks((String)session.getAttribute("userid"));
- request.setAttribute("booklist", list);//把已购买的书单放进request中
- request.getRequestDispatcher("Carts.jsp").forward(request, response);
- }
-
- }
Carts.jsp
购物车结果图:
在这个购物车页面中会有比较多的功能,比如:删除书籍,清空购物车,修改书籍数量,商品结算等功能
删除书籍:
点击“删除”请求提交到DeleteBookServlet,该Servlet中实现删除操作
DeleteBookServlet.java
- package com.servlets;
-
- import java.io.IOException;
- import java.io.PrintWriter;
-
- 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 com.Dao.CartDao;
-
- public class DeleteBookServlet extends HttpServlet {
-
- private static final long serialVersionUID = 1L;
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- doPost(request, response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- request.setCharacterEncoding("UTF-8");
- response.setCharacterEncoding("UTF-8");
- HttpSession session=request.getSession();
- String userid=(String)session.getAttribute("userid");
- String bookid=request.getParameter("bookid");
-
- CartDao cartdao=new CartDao();
- boolean b=cartdao.DeleteBook(userid, Integer.parseInt(bookid));//删除书籍
- if(b){
- System.out.println("删除成功");
- response.sendRedirect("http://localhost:8080/ShoppingCart/CartServlet?m=1");
- }
- else{
-
- response.sendRedirect("http://localhost:8080/ShoppingCart/CartServlet?m=0");
- }
- }
-
- }
清空购物车:
点击“清空购物车”,请求提交到ClearCartServlet
ClearCartServlet.java
- package com.servlets;
-
- import java.io.IOException;
- import java.io.PrintWriter;
-
- 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 com.Dao.CartDao;
-
- public class ClearCartServlet extends HttpServlet {
-
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- doPost(request, response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
-
- HttpSession session=request.getSession();
- String userid=(String)session.getAttribute("userid");
-
- CartDao cd=new CartDao();
- boolean b=cd.ClearCartBook(userid);
- if(b){
- response.sendRedirect("http://localhost:8080/ShoppingCart/CartServlet");
- }
- else{
- response.sendRedirect("http://localhost:8080/ShoppingCart/CartServlet?m=2");
- }
- }
-
- }
修改书籍数量:点击“+”/“-”操作,请求提交到UpdateNumServlet,修改数量之后总价格也会变化,修改完成之后重定向到本页面
UpdateNumServlet.java
- package com.servlets;
-
- import java.io.IOException;
- import java.io.PrintWriter;
-
- 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 com.Dao.CartDao;
-
- public class UpdateNumServlet extends HttpServlet {
-
- private static final long serialVersionUID = 1L;
-
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- request.setCharacterEncoding("UTF-8");
- HttpSession session=request.getSession();
- String userid=(String)session.getAttribute("userid");
- int bookid=Integer.parseInt((String)request.getParameter("bookidtext"));
- String hid=(String)request.getParameter("hid");
- int dnum=Integer.parseInt(hid);//hid的值是+1,-1
-
- CartDao cd=new CartDao();
- cd.ModifyNum(userid, bookid, dnum);
- System.out.println("进入修改数目servlet");
- response.sendRedirect("http://localhost:8080/ShoppingCart/CartServlet");
- }
-
- }
商品结算:
点击“商品结算”,请求提交到orders.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>填写订单</title>
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body bgcolor="#98FB98">
- <form action="OrderServlet" method="post">
- <br><br>
- <table align="center" width="900" >
- <tr>
- <td colspan="2" bgcolor="#FFC125"><b>填写订单信息:</b></td>
- </tr>
- <tr>
- <td colspan="2"><hr></td>
- </tr>
- <tr >
- <td colspan="2" bgcolor="#FFE4B5">收货人信息</td>
- </tr>
- <tr>
- <td width="150">收 货 人:</td>
- <td><input type="text" name="receiver"></td>
- </tr>
- <tr>
- <td width="150">详细地址:</td>
- <td><input type="text" name="address" size="70"></td>
- </tr>
- <tr>
- <td width="150">邮政编码:</td>
- <td><input type="text" name="post"></td>
- </tr>
- <tr>
- <td width="150">移动电话:</td>
- <td><input type="text" name="mobile"> 固定电话:<input type="text" name="fixphone">(如:027-12345678)</td>
- </tr>
- <tr bgcolor="#FFE4B5">
- <td colspan="2">送货方式:</td>
- </tr>
- <tr>
- <td colspan="2" ><input type="radio" name="songhuoway" value="<b>普通快递送货上门 。</b>【运费5元】 ">普通快递送货上门
- 送货时间:
- <select name="songhuotime" style="width:150px">
- <option value="--请选择送货时间--" >--请选择送货时间--</colspan="2" ><input type="radio" name="songhuoway" value="<b>普通快递送货上门 。</b>【运费5元】 ">普通快递送货上门
- 送货时间:
- <select name="songhuotime" style="width:150px">
- <option value="--请选择送货时间--" >--请选择送货时间--</option>
- <option value="送货时间:三天内." >三天内</option>
- &n