📄 adminservlet.java
字号:
package com.qyg.servlets;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import com.qyg.shop.product.Product;
import com.qyg.shop.product.ProductManageDAO;
import com.qyg.shop.sales.Sales;
import com.qyg.shop.sales.SalesDAO;
import com.qyg.shop.sales.SalesManageDAO;
import com.qyg.shop.user.User;
import com.qyg.shop.user.UserDAO;
import com.qyg.shop.user.UserManageDAO;
import com.qyg.tools.MD5;
public class AdminServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public AdminServlet() {
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 {
String action = request.getParameter("action");
if(action!=null){
if(action.equals("adminLogin")){
String adminName=request.getParameter("admin");
String adminPwd=request.getParameter("pwd");
String checkWord=request.getParameter("check");
String adminPm="admin";
UserDAO ud=new UserManageDAO();
User user=null;
//是否存在名为adminName用户
//new MD5().getMD5ofStr
MD5 m = new MD5();
if((user=ud.findUserByName(adminName))!=null){
if (checkWord.equals(request.getSession().getAttribute("rand"))) {
if (user.getPwd().equals(m.getMD5ofStr(adminPwd))
&& user.getPower().equals(adminPm)) {
request.getSession().setAttribute("adminName", adminName);
request.getSession().setAttribute("adminId", user.getId());
response.sendRedirect("../manage/Index.jsp");
} else {
response.sendRedirect("../manage/Login.jsp?err=1");
}
}
else{
response.sendRedirect("../manage/Login.jsp?err=2");
}
}
else{
response.sendRedirect("../manage/Login.jsp?err=1");
}
}
else if(action.equals("productEdit")){
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
String fileName=null;//文件名
String productName=null;
double price=0.0;
int cid=0;
String disc=null;
FileItemFactory fif=new DiskFileItemFactory();
ServletFileUpload sfu=new ServletFileUpload(fif);//这两行构造了一个上传处理对象
Iterator items;
try{
items=sfu.parseRequest(request).iterator();//解析出表单中提交的所有内容
while(items.hasNext()){
FileItem fi=(FileItem)items.next();
//利用fi.getFieldName得到表单提交项名称
System.out.println(fi.getFieldName()+"9999");//测试fi中的字段
if(fi.getFieldName().equals("name")){
productName=fi.getString();//利用fi.getString得到表单提交项的具体值,存在编码问题
productName=new String(productName.getBytes("ISO-8859-1"),"GBK");
}
if(fi.getFieldName().equals("cid")){
cid=Integer.parseInt(fi.getString());
}
if(fi.getFieldName().equals("price")){
price=Double.parseDouble(fi.getString());
}
if(fi.getFieldName().equals("disc")){
disc=fi.getString();
disc=new String(disc.getBytes("ISO-8859-1"),"GBK");
}
if(!fi.isFormField()){
String name=fi.getName();
fileName=name.substring(name.lastIndexOf('\\')+1,name.length());//以上两行获得文件名
String filePath=request.getRealPath("img")+File.separatorChar+fileName;//获得文件上传后服务器存储路径,并存到file文件夹中
File uploadeFile=new File(filePath);
fi.write(uploadeFile);//以上两行代码将上传文件存储到服务器中
//打印上传成功信息
response.setContentType("text/html");
response.setCharacterEncoding("GBK");
PrintWriter out=response.getWriter();
out.print("name:"+name);
out.print("url"+filePath);
}
}
}
catch (Exception e) {
// TODO: handle exception
System.out.print("上传文件错误");
e.printStackTrace();
}
// }
//更新id对应的商品
if (request.getSession().getAttribute("id") != null) {
int id=Integer.parseInt(request.getSession().getAttribute("id").toString());
Product product=new Product();
product.setProduct_id(id);
product.setProduct_name(productName);
product.setProduct_cId(cid);
product.setProduct_price(price);
product.setProduct_descr(disc);
if (fileName != null) {
product.setProduct_image(fileName);
} else {
product.setProduct_image("md_raitaca328.jpg");
}
new ProductManageDAO().update(product);
}
//新增商品
else{
Product product=new Product();
product.setProduct_name(productName);
product.setProduct_cId(cid);
product.setProduct_price(price);
product.setProduct_descr(disc);
if (fileName != null) {
product.setProduct_image(fileName);
} else {
product.setProduct_image("md_raitaca328.jpg");
}
new ProductManageDAO().add(product);
}
}
else if(action.equals("userEdit")){
response.setContentType("text/html");
response.setCharacterEncoding("GBK");
PrintWriter out = response.getWriter();
//更新id对应的用户
if(request.getSession().getAttribute("id")!=null){
int id=Integer.parseInt(request.getSession().getAttribute("id").toString());
User user=new User();
user.setId(id);
// String name=request.getSession().getAttribute("name").toString();测试用
user.setName(request.getParameter("name"));
user.setPwd(new MD5().getMD5ofStr(request.getParameter("pwd")));
user.setPhone(request.getParameter("phone"));
user.setAddr(request.getParameter("addr"));
user.setPower(request.getParameter("power"));
user.setMoney(Double.parseDouble(request.getParameter("money")));
new UserManageDAO().update(user);
out.println("修改成功");
out.print("<a href='../manage/User.jsp'>返回管理页</a>");
out.flush();
out.close();
}
//新增用户
else{
User user=new User();
// String name=request.getSession().getAttribute("name").toString();测试用
user.setName(request.getParameter("name"));
user.setPwd(new MD5().getMD5ofStr(request.getParameter("pwd")));
user.setPhone(request.getParameter("phone"));
user.setAddr(request.getParameter("addr"));
// user.setRdate(new Date());
user.setPower(request.getParameter("power"));
user.setMoney(Double.parseDouble(request.getParameter("money")));
new UserManageDAO().add(user);
out.println("新增成功");
out.print("<a href='../manage/User.jsp'>返回管理页</a>");
out.flush();
out.close();
}
}
else if(action.equals("quitAdmin")){
response.setContentType("text/html");
PrintWriter out = response.getWriter();
request.getSession().removeAttribute("adminName");
request.getSession().removeAttribute("adminId");
//利用JS实现整个框架跳转
out.print("<script language='javascript'>if (top != self)top.location.href ='../manage/Login.jsp';" +
"</script>");
out.flush();
out.close();
}
else if(action.equals("orderOver")){
String salesid = request.getParameter("salesid");
int sales_id = 20;
try{
sales_id = Integer.parseInt(salesid);
}catch(Exception e){
System.out.println("NumberFormatException");
}
SalesDAO dao = new SalesManageDAO();
Sales sales = dao.getSalesById(sales_id);
sales.setSales_state(1); //将消费状态设置为1
dao.update(sales);
response.sendRedirect("../manage/order.jsp");
}
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -