📄 addorderservlet.java
字号:
package edu.scau.order;
import java.io.IOException;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Enumeration;
import java.util.List;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.transaction.UserTransaction;
import edu.scau.database.DBUtil;
import edu.scau.order.persist.OrderCRUD;
public class AddOrderServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public AddOrderServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 解决中文乱码
request.setCharacterEncoding("gb2312");
response.setContentType("text/html, charset=gb2312");
response.setCharacterEncoding("gb2312");
PrintWriter out = response.getWriter();
// 获取参数
String number = request.getParameter("number");
String customer = request.getParameter("customer");
String bizDateStr = request.getParameter("bizDate");
// 对参数类型进行转换
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
java.util.Date bizDate = null;
try {
bizDate = sdf.parse(bizDateStr);
} catch (ParseException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
}
// 获取表格体参数
String[] names = request.getParameterValues("name");
String[] qtys = request.getParameterValues("qty");
String[] prices = request.getParameterValues("price");
String[] amts = request.getParameterValues("amt");
bizDate = new Date();
// 实际业务处理 -数据操作
OrderInfo orderInfo = new OrderInfo();
orderInfo.setNumber(number);
orderInfo.setCustomer(customer);
orderInfo.setBizDate(bizDate);
BigDecimal totalCost = new BigDecimal("0.0");
List li = new ArrayList();
// 关联表格体
for (int i = 0; i < names.length; i++) {
OrderItemInfo oi = new OrderItemInfo();
oi.setName(names[i]);
oi.setQty(Integer.parseInt(qtys[i]));
oi.setPrice(new BigDecimal(prices[i]));
oi.setAmt(new BigDecimal(amts[i]));
totalCost = totalCost.add(new BigDecimal(amts[i]));
li.add(oi);
}
orderInfo.setOrderItemInfos(li);
orderInfo.setTotalCost(totalCost);
OrderCRUD orderCRUD = new OrderCRUD();
boolean isCreate = orderCRUD.createOrder(orderInfo);
ServletContext context = getServletContext();
if (isCreate) {
RequestDispatcher dispatcher = context.getRequestDispatcher("//scm/addOrder.jsp");
dispatcher.forward(request, response);
} else {
// 跳转页面 传递参数
// String errorMsg = "订单创建失败!";
// String url = "error.jsp?name=" +errorMsg;
// response.sendRedirect("error.jsp?name="+java.net.URLEncoder.encode(errorMsg));
String errorMsg = "订单创建失败!";
request.setAttribute("name", errorMsg);
RequestDispatcher dispatcher = context.getRequestDispatcher("//error.jsp");
dispatcher.forward(request, response);
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occure
*/
public void init() throws ServletException {
// Put your code here
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -