您的位置:首页 > 编程语言 > Java开发

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

2015-11-15 10:02 871 查看
1.

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

package cn.com.yong.Utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBConnection {
private String url="jdbc:mysql://localhost:3306/guimei";
private String user="root";
private String password="666888";
private Connection con=null;
//构造方法私有化
private DBConnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
//创建一个私有化对象
private static DBConnection jdbc=new DBConnection();
//实例
public static DBConnection getDBConnectionInstance(){
return jdbc;
}
public Connection getDBConnection() {
return con;
}
}


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

package cn.com.yong.Pojo;
import java.sql.Date;

public class Order_table {
private Integer order_id;//订单号
private String order_address;//订单发货地址
private Integer order_user_id;//订单人的id
private Integer order_sum_price;//订单总金额
private Date order_date;//下单日期:符合2004-12-12格式
private Integer order_status;//订单状态:1表示订单“待审核”:表示您的订单等待审核中。2表示订单“已确认”:表示您的订单已审核通过。3表示订单“备货中”:表示您的订单已打印,我们正在为您备货。4表示订单“已发货”:表示您的订单已出仓库,您可在网上跟踪配送情况。5表示订单“已完成”:表示您的订单已完成签收。值只能取1-5。
private Integer payment_id;//支付明细表
public Order_table(){}
public Order_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;
}
public Integer getOrder_id() {
return order_id;
}
public void setOrder_id(Integer order_id) {
this.order_id = order_id;
}
public String getOrder_address() {
return order_address;
}
public void setOrder_address(String order_address) {
this.order_address = order_address;
}
public Integer getOrder_user_id() {
return order_user_id;
}
public void setOrder_user_id(Integer order_user_id) {
this.order_user_id = order_user_id;
}
public Integer getOrder_sum_price() {
return order_sum_price;
}
public void setOrder_sum_price(Integer order_sum_price) {
this.order_sum_price = order_sum_price;
}
public Date getOrder_date() {
return order_date;
}
public void setOrder_date(Date order_date) {
this.order_date = order_date;
}
public Integer getOrder_status() {
return order_status;
}
public void setOrder_status(Integer order_status) {
this.order_status = order_status;
}
public Integer getPayment_id() {
return payment_id;
}
public void setPayment_id(Integer payment_id) {
this.payment_id = payment_id;
}
}


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

package cn.com.yong.Dao;

import java.util.List;

import cn.com.yong.Pojo.Order_table;

public interface Order_tableDao {
public boolean addOrder_table(Order_table ot);
public boolean deleteOrder_table(int id);
public List<Order_table> selectOrder_table();
public boolean updateOrder_table(Order_table ot);
}


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

package cn.com.yong.DaoImplement;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import cn.com.yong.Dao.Order_tableDao;
import cn.com.yong.Pojo.Order_table;
import cn.com.yong.Utils.DBConnection;

public class Order_tableDaoImplement implements Order_tableDao{

boolean bn=false;
Statement sta=null;
ResultSet rs=null;
PreparedStatement ps=null;
Connection con=null;

public boolean addOrder_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();
}

return false;
}

public boolean deleteOrder_table(int id) {
con=DBConnection.getDBConnectionInstance().getDBConnection();
String sql="delete from order_table where order_id=?";
try {
ps=con.prepareStatement(sql);
ps.setInt(1, id);
int i=ps.executeUpdate();
if(i>0){
return true;
}
} catch (SQLException e) {
e.printStackTrace();
}

return false;
}

public List<Order_table> selectOrder_table() {
con=DBConnection.getDBConnectionInstance().getDBConnection();
List<Order_table> list=new ArrayList<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=new Order_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();
}
return list;
}
public static void main(String[] args) {
List<Order_table> list=new Order_tableDaoImplement().selectOrder_table();
System.out.println(list);
}

public boolean updateOrder_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();
}

return false;
}

}


2.

2.1 实现查询功能

2.1.1 Servlet

package cn.com.yong.Servlet;

import java.io.IOException;
import java.util.List;

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

import cn.com.yong.DaoImplement.Order_tableDaoImplement;
import cn.com.yong.Pojo.Order_table;
@WebServlet("/Order_tableSelectAllServlet")
public class Order_tableSelectAllServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

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

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String url=null;
Order_tableDaoImplement otd=new Order_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页面

<%@page import="cn.com.yong.Pojo.Order_table"%>
<%@page import="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界面

package cn.com.yong.Servlet;

import java.io.IOException;

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

import cn.com.yong.Dao.Order_tableDao;
import cn.com.yong.DaoImplement.Order_tableDaoImplement;
@WebServlet("/Order_tableDelServlet")
public class Order_tableDelServlet extends HttpServlet {

private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String url=null;
int id=Integer.parseInt(request.getParameter("order_id"));

Order_tableDao otd=new Order_tableDaoImplement();
boolean bn=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

<%@page import="cn.com.yong.Pojo.Order_table"%>
<%@ 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_tableUpdate.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>
<%Order_table ot=(Order_table)request.getAttribute("ot"); %>
<form action="Order_tableUpdateServlet2" method="post">
<p>订单号:<input name="order_id" type="text" readonly="readonly" value=<%=ot.getOrder_id()%>></p>
<p>订单发货地址:<input name="order_address" type="text" value=<%=ot.getOrder_address()%>></p>
<p>订单人的id:<input name="order_user_id" type="text" value=<%=ot.getOrder_user_id()%>></p>
<p>订单金额:<input name="order_sum_price" type="text" value=<%=ot.getOrder_sum_price()%>></p>
<p>下单日期:<input name="order_date" type="text" value=<%=ot.getOrder_date()%>></p>
<p>订单状态:<input name="order_status" type="text" value=<%=ot.getOrder_status()%>></p>
<p>支付明细表:<input name="payment_id" type="text" value=<%=ot.getPayment_id()%>></p>
<p><input type="submit" value="修改"/></p>
</form>
</body>
</html>


2.3.2 Servlet

import java.io.IOException;
import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

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

import cn.com.yong.DaoImplement.Order_tableDaoImplement;
import cn.com.yong.Pojo.Order_table;
@WebServlet("/Order_tableUpdateServlet2")
public class Order_tableUpdateServlet2 extends HttpServlet {

private static final long serialVersionUID = 1L;

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

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Order_tableDaoImplement otd=new Order_tableDaoImplement();
Order_table ot=new Order_table();

int order_id=Integer.parseInt(request.getParameter("order_id"));
String order_address=request.getParameter("order_address");
int order_user_id=Integer.parseInt(request.getParameter("order_user_id"));
int order_sum_price=Integer.parseInt(request.getParameter("order_sum_price"));
Date order_date=null;
try {
order_date=new Date(new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("order_date")).getTime());
} catch (ParseException e) {
e.printStackTrace();
}
int order_status=Integer.parseInt(request.getParameter("order_status"));
int payment_id=Integer.parseInt(request.getParameter("payment_id"));

ot.setOrder_id(order_id);
ot.setOrder_address(order_address);
ot.setOrder_user_id(order_user_id);
ot.setOrder_sum_price(order_sum_price);
ot.setOrder_date(order_date);
ot.setOrder_status(order_status);
ot.setPayment_id(payment_id);

boolean bn=otd.updateOrder_table(ot);
String url=null;
if(bn){
url="Order_tableSelectAllServlet";
}else{
url="loser.jsp";
}
response.sendRedirect(url);
}

}


2.4 添加功能

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

<head>
<title>Order_tableAdd.html</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

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

</head>

<body>
<form action="Order_tableAddServlet" method="post">
<p>订单号:<input name="order_id" type="text"></p>
<p>订单发货地址:<input name="order_address" type="text" ></p>
<p>订单人的id:<input name="order_user_id" type="text" ></p>
<p>订单金额:<input name="order_sum_price" type="text" ></p>
<p>下单日期:<input name="order_date" type="text" ></p>
<p>订单状态:<input name="order_status" type="text" ></p>
<p>支付明细表:<input name="payment_id" type="text"></p>
<p><input type="submit" value="添加"/></p>
</form>
</body>


2.4.2 Servlet

import java.io.IOException;
import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

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

import cn.com.yong.DaoImplement.Order_tableDaoImplement;
import cn.com.yong.Pojo.Order_table;
@WebServlet("/Order_tableAddServlet")
public class Order_tableAddServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

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

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Order_tableDaoImplement otd=new Order_tableDaoImplement();
Order_table ot=new Order_table();

int order_id=Integer.parseInt(request.getParameter("order_id"));
String order_address=request.getParameter("order_address");
int order_user_id=Integer.parseInt(request.getParameter("order_user_id"));
int order_sum_price=Integer.parseInt(request.getParameter("order_sum_price"));
Date order_date=null;
try {
order_date=new Date(new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("order_date")).getTime());
} catch (ParseException e) {
e.printStackTrace();
}
int order_status=Integer.parseInt(request.getParameter("order_status"));
int payment_id=Integer.parseInt(request.getParameter("payment_id"));

ot.setOrder_id(order_id);
ot.setOrder_address(order_address);
ot.setOrder_user_id(order_user_id);
ot.setOrder_sum_price(order_sum_price);
ot.setOrder_date(order_date);
ot.setOrder_status(order_status);
ot.setPayment_id(payment_id);

boolean bn=otd.addOrder_table(ot);
String url=null;
if(bn){
url="Order_tableSelectAllServlet";
}else{
url="loser.jsp";
}
response.sendRedirect(url);
}

}


注:每创建一个Servlet对象,需要配置文件,如2.4.2十四行所示,不要忘记
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: