Servlet+Javabean+Html实现简单的查询.删除.修改.添加四个功能

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

1.

1.1 首先创建一个单列,供外界实用:

packagecn.com.yong.Utils;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;publicclassDBConnection {PRivateString url="jdbc:MySQL://localhost:3306/guimei";privateString user="root";privateString passWord="666888";privateConnection con=null;//构造方法私有化privateDBConnection(){try{

Class.forName("com.mysql.jdbc.Driver");

con=DriverManager.getConnection(url, user, password);

}catch(ClassNotFoundException e) {

e.printStackTrace();

}catch(SQLException e) {

e.printStackTrace();

}

}//创建一个私有化对象privatestaticDBConnection jdbc=newDBConnection();//实例publicstaticDBConnection getDBConnectionInstance(){returnjdbc;

}publicConnection getDBConnection() {returncon;

}

}

1.2 创建一个实体类(这里我们以订单明细为列)

packagecn.com.yong.Pojo;importjava.sql.Date;publicclassOrder_table {privateInteger order_id;//订单号privateString order_address;//订单发货地址privateInteger order_user_id;//订单人的idprivateInteger order_sum_price;//订单总金额privateDate order_date;//下单日期:符合2004-12-12格式privateInteger order_status;//订单状态:1表示订单“待审核”:表示您的订单等待审核中。2表示订单“已确认”:表示您的订单已审核通过。3表示订单“备货中”:表示您的订单已打印,我们正在为您备货。4表示订单“已发货”:表示您的订单已出仓库,您可在网上跟踪配送情况。5表示订单“已完成”:表示您的订单已完成签收。值只能取1-5。privateInteger payment_id;//支付明细表publicOrder_table(){}publicOrder_table(Integer order_id, String order_address,

Integer order_user_id, Integer order_sum_price, Date order_date,

Integer order_status, Integer payment_id) {this.order_id =order_id;this.order_address =order_address;this.order_user_id =order_user_id;this.order_sum_price =order_sum_price;this.order_date =order_date;this.order_status =order_status;this.payment_id =payment_id;

}publicInteger getOrder_id() {returnorder_id;

}publicvoidsetOrder_id(Integer order_id) {this.order_id =order_id;

}publicString getOrder_address() {returnorder_address;

}publicvoidsetOrder_address(String order_address) {this.order_address =order_address;

}publicInteger getOrder_user_id() {returnorder_user_id;

}publicvoidsetOrder_user_id(Integer order_user_id) {this.order_user_id =order_user_id;

}publicInteger getOrder_sum_price() {returnorder_sum_price;

}publicvoidsetOrder_sum_price(Integer order_sum_price) {this.order_sum_price =order_sum_price;

}publicDate getOrder_date() {returnorder_date;

}publicvoidsetOrder_date(Date order_date) {this.order_date =order_date;

}publicInteger getOrder_status() {returnorder_status;

}publicvoidsetOrder_status(Integer order_status) {this.order_status =order_status;

}publicInteger getPayment_id() {returnpayment_id;

}publicvoidsetPayment_id(Integer payment_id) {this.payment_id =payment_id;

}

}

1.3 创建接口,添加我们需要的方法

packagecn.com.yong.Dao;importjava.util.List;importcn.com.yong.Pojo.Order_table;publicinterfaceOrder_tableDao {publicbooleanaddOrder_table(Order_table ot);publicbooleandeleteOrder_table(intid);publicList<Order_table>selectOrder_table();publicbooleanupdateOrder_table(Order_table ot);

}

1.4 这里实现我们的接口,添加功能

packagecn.com.yong.DaoImplement;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importjava.util.List;importcn.com.yong.Dao.Order_tableDao;importcn.com.yong.Pojo.Order_table;importcn.com.yong.Utils.DBConnection;publicclassOrder_tableDaoImplementimplementsOrder_tableDao{booleanbn=false;

Statement sta=null;

ResultSet rs=null;

PreparedStatement ps=null;

Connection con=null;publicbooleanaddOrder_table(Order_table ot) {

con=DBConnection.getDBConnectionInstance().getDBConnection();

String sql="insert into order_table value(?,?,?,?,?,?,?)";try{

ps=con.prepareStatement(sql);

ps.setInt(1, ot.getOrder_id().intValue());

ps.setString(2, ot.getOrder_address());

ps.setInt(3, ot.getOrder_user_id().intValue());

ps.setInt(4, ot.getOrder_sum_price().intValue());

ps.setDate(5,ot.getOrder_date());

ps.setInt(6, ot.getOrder_status().intValue());

ps.setInt(7, ot.getPayment_id().intValue());

ps.executeUpdate();

}catch(SQLException e) {

e.printStackTrace();

}returnfalse;

}publicbooleandeleteOrder_table(intid) {

con=DBConnection.getDBConnectionInstance().getDBConnection();

String sql="delete from order_table where order_id=?";try{

ps=con.prepareStatement(sql);

ps.setInt(1, id);inti=ps.executeUpdate();if(i>0){returntrue;

}

}catch(SQLException e) {

e.printStackTrace();

}returnfalse;

}publicList<Order_table>selectOrder_table() {

con=DBConnection.getDBConnectionInstance().getDBConnection();

List<Order_table> list=newArrayList<Order_table>();try{

sta=con.createStatement();

String sql="select order_id,order_address,order_user_id,order_sum_price,order_date,order_status,payment_id from order_table";

rs=sta.executeQuery(sql);while(rs.next()){

Order_table od=newOrder_table();

od.setOrder_id(rs.getInt("order_id"));

od.setOrder_address(rs.getString("order_address"));

od.setOrder_user_id(rs.getInt("order_user_id"));

od.setOrder_sum_price(rs.getInt("order_sum_price"));

od.setOrder_date(rs.getDate("order_date"));

od.setOrder_status(rs.getInt("order_status"));

od.setPayment_id(rs.getInt("payment_id"));

list.add(od);

}

}catch(SQLException e) {

e.printStackTrace();

}returnlist;

}publicstaticvoidmain(String[] args) {

List<Order_table> list=newOrder_tableDaoImplement().selectOrder_table();

System.out.println(list);

}publicbooleanupdateOrder_table(Order_table ot) {

con=DBConnection.getDBConnectionInstance().getDBConnection();

String sql="update order_table set order_sum_price=? where order_id=?";try{

ps=con.prepareStatement(sql);

ps.setInt(1, ot.getOrder_sum_price().intValue());

ps.setInt(2, ot.getOrder_id().intValue());

ps.executeUpdate();

}catch(SQLException e) {

e.printStackTrace();

}returnfalse;

}

}

2.

2.1 实现查询功能

2.1.1 Servlet

packagecn.com.yong.Servlet;importjava.io.IOException;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.com.yong.DaoImplement.Order_tableDaoImplement;importcn.com.yong.Pojo.Order_table;

@WebServlet("/Order_tableSelectAllServlet")publicclassOrder_tableSelectAllServletextendsHttpServlet {privatestaticfinallongserialVersionUID = 1L;publicvoiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {

doPost(request, response);

}publicvoiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {

String url=null;

Order_tableDaoImplement otd=newOrder_tableDaoImplement();

List<Order_table> list=otd.selectOrder_table();if(list.size()>0){

url="Order_tableSelectAll.jsp";

request.setAttribute("lit", list);

}else{

url="loser.jsp";

}

request.getRequestDispatcher(url).forward(request, response);

}

}

2.1.2 jsp页面

<%@pageimport="cn.com.yong.Pojo.Order_table"%>

<%@pageimport="cn.com.yong.DaoImplement.Order_tableDaoImplement"%>

<%@ page language="java"import="java.util.*" pageEncoding="utf-8"%>

<%String path=request.getContextPath();

String basePath= request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP 'Order_tableSelectAll.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/CSS" href="styles.css">

-->

</head>

<body>

<table border="1" cellpadding="1" cellspacing="1" align="center" width="80%">

<tr>

<th>订单号</th>

<th>订单发货地址</th>

<th>订单id</th>

<th>订单总金额</th>

<th>下单日期</th>

<th>订单状态</th>

<th>支付明细</th>

<th>操作</th>

</tr>

<%List<Order_table> list=(List<Order_table>)request.getAttribute("lit");for(Order_table ot:list){%>

<tr>

<td><%=ot.getOrder_id()%></td>

<td><%=ot.getOrder_address()%></td>

<td><%=ot.getOrder_user_id()%></td>

<td><%=ot.getOrder_sum_price()%></td>

<td><%=ot.getOrder_date()%></td>

<td><%=ot.getOrder_status()%></td>

<td><%=ot.getPayment_id()%></td>

<td><a href="Order_tableDelServlet?order_id=<%=ot.getOrder_id()%>">删除</a>||

<a href="Order_tableUpdateServlet?order_id=<%=ot.getOrder_id()%>">修改</a></td>

</tr>

<%} %>

<h3><a href="Order_tableAdd.jsp">添加</a></h3>

</table>

</body>

</html>

2.2 实现删除功能

2.2.1 Servlet界面

packagecn.com.yong.Servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcn.com.yong.Dao.Order_tableDao;importcn.com.yong.DaoImplement.Order_tableDaoImplement;

@WebServlet("/Order_tableDelServlet")publicclassOrder_tableDelServletextendsHttpServlet {privatestaticfinallongserialVersionUID = 1L;publicvoiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {

doPost(request, response);

}publicvoiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {

String url=null;intid=Integer.parseInt(request.getParameter("order_id"));

Order_tableDao otd=newOrder_tableDaoImplement();booleanbn=otd.deleteOrder_table(id);

System.out.println(bn);if(bn){

url="Order_tableSelectAllServlet";

}else{

url="loser.jsp";

}

response.sendRedirect(url);

}

}

2.3 实现修改功能

2.3.1 Jsp

1<%@pageimport="cn.com.yong.Pojo.Order_table"%>2<%@ page language="java"import="java.util.*" pageEncoding="utf-8"%>3<%4String path =request.getContextPath();5String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";6%>78<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">9<html>10<head>11<base href="<%=basePath%>">1213<title>My JSP 'Order_tableUpdate.jsp' starting page</title>1415<meta http-equiv="pragma" content="no-cache">16<meta http-equiv="cache-control" content="no-cache">17<meta http-equiv="expires" content="0">18<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">19<meta http-equiv="description" content="This is my page">20<!--21<link rel="stylesheet" type="text/css" href="styles.css">22-->2324</head>2526<body>27<%Order_table ot=(Order_table)request.getAttribute("ot"); %>28<form action="Order_tableUpdateServlet2" method="post">29<p>订单号:<input name="order_id" type="text" readonly="readonly" value=<%=ot.getOrder_id()%>></p>30<p>订单发货地址:<input name="order_address" type="text" value=<%=ot.getOrder_address()%>></p>31<p>订单人的id:<input name="order_user_id" type="text" value=<%=ot.getOrder_user_id()%>></p>32<p>订单金额:<input name="order_sum_price" type="text" value=<%=ot.getOrder_sum_price()%>></p>33<p>下单日期:<input name="order_date" type="text" value=<%=ot.getOrder_date()%>></p>34<p>订单状态:<input name="order_status" type="text" value=<%=ot.getOrder_status()%>></p>35<p>支付明细表:<input name="payment_id" type="text" value=<%=ot.getPayment_id()%>></p>36<p><input type="submit" value="修改"/></p>37</form>38</body>39</html>

2.3.2 Servlet

1importjava.io.IOException;2importjava.sql.Date;3importjava.text.ParseException;4importjava.text.SimpleDateFormat;56importjavax.servlet.ServletException;7importjavax.servlet.annotation.WebServlet;8importjavax.servlet.http.HttpServlet;9importjavax.servlet.http.HttpServletRequest;10importjavax.servlet.http.HttpServletResponse;1112importcn.com.yong.DaoImplement.Order_tableDaoImplement;13importcn.com.yong.Pojo.Order_table;14@WebServlet("/Order_tableUpdateServlet2")15publicclassOrder_tableUpdateServlet2extendsHttpServlet {1617privatestaticfinallongserialVersionUID = 1L;1819publicvoiddoGet(HttpServletRequest request, HttpServletResponse response)20throwsServletException, IOException {21doPost(request, response);22}2324publicvoiddoPost(HttpServletRequest request, HttpServletResponse response)25throwsServletException, IOException {26Order_tableDaoImplement otd=newOrder_tableDaoImplement();27Order_table ot=newOrder_table();2829intorder_id=Integer.parseInt(request.getParameter("order_id"));30String order_address=request.getParameter("order_address");31intorder_user_id=Integer.parseInt(request.getParameter("order_user_id"));32intorder_sum_price=Integer.parseInt(request.getParameter("order_sum_price"));33Date order_date=null;34try{35order_date=newDate(newSimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("order_date")).getTime());36}catch(ParseException e) {37e.printStackTrace();38}39intorder_status=Integer.parseInt(request.getParameter("order_status"));40intpayment_id=Integer.parseInt(request.getParameter("payment_id"));4142ot.setOrder_id(order_id);43ot.setOrder_address(order_address);44ot.setOrder_user_id(order_user_id);45ot.setOrder_sum_price(order_sum_price);46ot.setOrder_date(order_date);47ot.setOrder_status(order_status);48ot.setPayment_id(payment_id);4950booleanbn=otd.updateOrder_table(ot);51String url=null;52if(bn){53url="Order_tableSelectAllServlet";54}else{55url="loser.jsp";56}57response.sendRedirect(url);58}5960}

2.4 添加功能

2.4.1 Html(直接用表单提交给Servlet,不需要转发给jsp)

1<head>2<title>Order_tableAdd.html</title>34<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">5<meta http-equiv="description" content="this is my page">6<meta http-equiv="content-type" content="text/html; charset=UTF-8">78<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->910</head>1112<body>13<form action="Order_tableAddServlet" method="post">14<p>订单号:<input name="order_id" type="text"></p>15<p>订单发货地址:<input name="order_address" type="text" ></p>16<p>订单人的id:<input name="order_user_id" type="text" ></p>17<p>订单金额:<input name="order_sum_price" type="text" ></p>18<p>下单日期:<input name="order_date" type="text" ></p>19<p>订单状态:<input name="order_status" type="text" ></p>20<p>支付明细表:<input name="payment_id" type="text"></p>21<p><input type="submit" value="添加"/></p>22</form>23</body>

2.4.2 Servlet

1importjava.io.IOException;2importjava.sql.Date;3importjava.text.ParseException;4importjava.text.SimpleDateFormat;56importjavax.servlet.ServletException;7importjavax.servlet.annotation.WebServlet;8importjavax.servlet.http.HttpServlet;9importjavax.servlet.http.HttpServletRequest;10importjavax.servlet.http.HttpServletResponse;1112importcn.com.yong.DaoImplement.Order_tableDaoImplement;13importcn.com.yong.Pojo.Order_table;14@WebServlet("/Order_tableAddServlet")15publicclassOrder_tableAddServletextendsHttpServlet {1617privatestaticfinallongserialVersionUID = 1L;1819publicvoiddoGet(HttpServletRequest request, HttpServletResponse response)20throwsServletException, IOException {21doPost(request, response);22}2324publicvoiddoPost(HttpServletRequest request, HttpServletResponse response)25throwsServletException, IOException {26Order_tableDaoImplement otd=newOrder_tableDaoImplement();27Order_table ot=newOrder_table();2829intorder_id=Integer.parseInt(request.getParameter("order_id"));30String order_address=request.getParameter("order_address");31intorder_user_id=Integer.parseInt(request.getParameter("order_user_id"));32intorder_sum_price=Integer.parseInt(request.getParameter("order_sum_price"));33Date order_date=null;34try{35order_date=newDate(newSimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("order_date")).getTime());36}catch(ParseException e) {37e.printStackTrace();38}39intorder_status=Integer.parseInt(request.getParameter("order_status"));40intpayment_id=Integer.parseInt(request.getParameter("payment_id"));4142ot.setOrder_id(order_id);43ot.setOrder_address(order_address);44ot.setOrder_user_id(order_user_id);45ot.setOrder_sum_price(order_sum_price);46ot.setOrder_date(order_date);47ot.setOrder_status(order_status);48ot.setPayment_id(payment_id);495051booleanbn=otd.addOrder_table(ot);52String url=null;53if(bn){54url="Order_tableSelectAllServlet";55}else{56url="loser.jsp";57}58response.sendRedirect(url);59}6061}

注:每创建一个Servlet对象,需要配置文件,如2.4.2十四行所示,不要忘记

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航