servlet同时支持Get 和 POST

注意:servlet必须直接继承HttpServlet,直接实现doGet和doPost即可。


package com.haolianluo.csms.back.administer.servlet.user;

import com.haolianluo.csms.back.administer.servlet.common.BaseServlet;
import com.haolianluo.csms.back.administer.entities.UserInfo;
import com.haolianluo.csms.back.administer.entities.Announcement;
import com.haolianluo.csms.back.administer.entities.Question;
import com.haolianluo.csms.back.administer.service.iface.IAnnouncementService;
import com.haolianluo.csms.back.administer.service.iface.IUserInfoService;
import com.haolianluo.csms.back.administer.service.iface.IQuestionService;
import com.haolianluo.csms.back.administer.service.ServiceFactory;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletContext;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.ArrayList;
import java.util.Date;
import java.text.SimpleDateFormat;

/**
* Created by IntelliJ IDEA.
* User: sxf
* Date: 2010-2-2
* Time: 13:55:54
* To change this template use File | Settings | File Templates.
*/
public class UserServlet extends HttpServlet/*BaseServlet*/ {
private final static IUserInfoService userInfoService = ServiceFactory.returnIUserInfoService();
private final static IQuestionService questionService = ServiceFactory.returnIQuestionService();
private boolean Login_Result = false;
private boolean Register_Result = false;


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet成功!........");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
String contextPath = request.getContextPath();
String method = request.getParameter("method");
String pno = request.getParameter("pno");
if (pno == null) pno = "0";
String psize = request.getParameter("psize");
if (psize == null) psize = "5";
String pos = request.getParameter("pos");
if (pos == null) pos = "0";
String allsize = request.getParameter("allsize");
if (allsize == null) allsize = "0";


// super.doGet(request, response); //To change body of overridden methods use File | Settings | File Templates.
}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
String contextPath = request.getContextPath();
String method = request.getParameter("method");
String pno = request.getParameter("pno");
if (pno == null) pno = "0";
String psize = request.getParameter("psize");
if (psize == null) psize = "5";
String pos = request.getParameter("pos");
if (pos == null) pos = "0";
String allsize = request.getParameter("allsize");
if (allsize == null) allsize = "0";
request.setAttribute("pno", Integer.valueOf(pno));
request.setAttribute("psize", Integer.valueOf(psize));
request.setAttribute("pos", Integer.valueOf(pos));
if (method != null && method.equals("login")) {
List<String> infoList = userLogin(request);
request.setAttribute("infoList", infoList);
if (Login_Result == true) {
request.getRequestDispatcher("/problem_lsgd.jsp").forward(request, response);
} else {
request.getRequestDispatcher("/problem.jsp").forward(request, response);
}
} else if (method != null && method.equals("register")) {
List<String> infoList = userRegister(request);
request.setAttribute("infoList", infoList);
if (Register_Result == true) {
request.getRequestDispatcher("/problem_lsgd.jsp").forward(request, response);
} else {
request.getRequestDispatcher("/problem_reg.jsp").forward(request, response);
}
} else if (method != null && method.equals("update_pwd")) {
List<String> infoList = updatePassword(request);
request.setAttribute("infoList", infoList);
request.getRequestDispatcher("/problem_mima.jsp").forward(request, response);
} else if (method != null && method.equals("save_order")) {
List<String> infoList = saveOrder(request);
UserInfo userInfo = (UserInfo)request.getSession().getAttribute("userInfo");
String telephone = "";
String userID = "";
if(userInfo!=null){
telephone = userInfo.getMobilenumber();
userID = userInfo.getId().intValue()+"";
}
List<Question> questionList = questionService.findQuestions(Integer.valueOf(pno),Integer.valueOf(psize),userID,telephone);
if(questionList!=null)allsize = questionService.allsize()+"";
request.setAttribute("allsize", Integer.valueOf(allsize));
request.setAttribute("infoList", infoList);
request.setAttribute("questionList", questionList);
request.getRequestDispatcher("/problem_lsgd.jsp").forward(request, response);
}


//To change body of overridden methods use File | Settings | File Templates.
}

private List<String> userLogin(HttpServletRequest request) {
List<String> infoList = new ArrayList<String>();
String username = request.getParameter("username");
username = this.encodingExceptionFilter(username, "utf-8");

String password = request.getParameter("password");
password = this.encodingExceptionFilter(password, "utf-8");

if (username == null || password == null) {
infoList.add("请输入用户名/密码!");
Login_Result = false;
return infoList;
}

UserInfo userInfo = userInfoService.findByNameAndPwd(username, password);
if (userInfo == null) {
infoList.add("用户名/密码错误,请重新输入!");
Login_Result = false;
return infoList;
} else {
request.getSession().setAttribute("userInfo", userInfo);
Login_Result = true;
// IAnnouncementService iAnnouncementService =
// ServiceFactory.returnAnnoucementService();
// Announcement newAnnouncement = iAnnouncementService.findNewestAnnouncement();
request.getSession().setAttribute("mobilenumber", userInfo.getMobilenumber());
}
return infoList;
}

private List<String> userRegister(HttpServletRequest request) {
List<String> infoList = new ArrayList<String>();
String user = this.encodingExceptionFilter(request.getParameter("user"), "utf-8");
String passwordFirst = this.encodingExceptionFilter(request.getParameter("passwordFirst"), "utf-8");
String passwordSecond = this.encodingExceptionFilter(request.getParameter("passwordSecond"), "utf-8");
String mobilenumber = this.encodingExceptionFilter(request.getParameter("mobilenumber"), "utf-8");
String region = this.encodingExceptionFilter(request.getParameter("region"), "utf-8");
String mobilebrand = this.encodingExceptionFilter(request.getParameter("mobilebrand"), "utf-8");
String mobilemodel = null;
//String mobilemodel = new String(httpServletRequest.getParameter("mobilemodel").getBytes("ISO-8859-1"),"gb2312");
if (mobilebrand != null) {
String[] array = mobilebrand.split("###");
if (array != null && array.length == 2) {
mobilebrand = array[0];
mobilemodel = array[1];
}
}
String email = this.encodingExceptionFilter(request.getParameter("email"), "utf-8");
UserInfo userInfo = new UserInfo();
userInfo.setUser(user);
userInfo.setPassword(passwordFirst);
userInfo.setMobilenumber(mobilenumber);
userInfo.setRegion(region);
userInfo.setMobilebrand(mobilebrand);
userInfo.setMobilemodel(mobilemodel);
userInfo.setEmail(email);
userInfo.setRegistertime(new Date(System.currentTimeMillis()));
if (userInfoService.findByName(user) != null) {
infoList.add("用户名已被使用,请重新注册!");
Register_Result = false;
return infoList;
} else if (userInfoService.find(mobilenumber) != null) {
infoList.add("手机号已被使用,请重新注册!");
Register_Result = false;
return infoList;
} else {
userInfoService.register(userInfo);
UserInfo useReg = userInfoService.findByNameAndPwd(user, passwordFirst);
if (useReg == null) {
Register_Result = false;
infoList.add("注册出现异常,请重新注册!");
} else {
Register_Result = true;
}
request.getSession().setAttribute("userInfo", useReg);
return infoList;
}
}

private List<String> updatePassword(HttpServletRequest request) {
List<String> infoList = new ArrayList<String>();
String pwd1 = this.encodingExceptionFilter(request.getParameter("passwordFirst"), "utf-8");
String pwd2 = this.encodingExceptionFilter(request.getParameter("passwordSecond"), "utf-8");
if (pwd1 == null || pwd2 == null) {
infoList.add("请输入新的密码!");
return infoList;
}
if (!pwd1.equals(pwd2)) {
infoList.add("两次输入的密码不一致!");
return infoList;
}
UserInfo userInfo = (UserInfo) request.getSession().getAttribute("userInfo");
userInfo.setPassword(pwd1);
userInfoService.update(userInfo);
infoList.add("密码更改成功,请牢记您账号的新密码!");
return infoList;
}

private List<String> saveOrder(HttpServletRequest request) {
String mobileNumber = this.encodingExceptionFilter(request.getParameter("mobileNumber"), "utf-8");
String mobileBrandAndModel = this.encodingExceptionFilter(request.getParameter("mobileBrandAndModel"), "utf-8");
String region = this.encodingExceptionFilter(request.getParameter("region"), "utf-8");
Question question = new Question();
question.setUser_area(region);
question.setTelephone(mobileNumber);
// String mobileNumber = new String(request.getParameter("mobileNumber").getBytes("ISO-8859-1"),"gb2312");
// question.setMobileNumber(mobileNumber);
//
// String mobileModel = new String(httpServletRequest.getParameter("mobileBrandAndModel").getBytes("ISO-8859-1"),"gb2312");
// question.setMobileModel(mobileModel);
//
// String userRegion = new String(httpServletRequest.getParameter("region").getBytes("ISO-8859-1"),"gb2312");
// question.setRegion(userRegion);
String year = this.encodingExceptionFilter(request.getParameter("year"), "utf-8");
String month = this.encodingExceptionFilter(request.getParameter("month"), "utf-8");
String day = this.encodingExceptionFilter(request.getParameter("day"), "utf-8");
String hour = this.encodingExceptionFilter(request.getParameter("hour"), "utf-8");
String minute = this.encodingExceptionFilter(request.getParameter("minute"), "utf-8");
// String year = new String(httpServletRequest.getParameter("year").getBytes("ISO-8859-1"),"gb2312");
// String month = new String(httpServletRequest.getParameter("month").getBytes("ISO-8859-1"),"gb2312");
// String day = new String(httpServletRequest.getParameter("day").getBytes("ISO-8859-1"),"gb2312");
//
// String hour = new String(httpServletRequest.getParameter("hour").getBytes("ISO-8859-1"),"gb2312");
// String minute = new String(httpServletRequest.getParameter("minute").getBytes("ISO-8859-1"),"gb2312");
String questionTime = year + "-" + ((Integer.valueOf(month) < 10) ? ("0" + (Integer.valueOf(month) + 1)) : ((Integer.valueOf(month) + 1) + "")) + "-" + ((Integer.valueOf(day) < 10) ? ("0" + Integer.valueOf(day)) : (Integer.valueOf(day) + ""))
+ " " + ((Integer.valueOf(hour) < 10) ? ("0" + Integer.valueOf(hour)) : (Integer.valueOf(hour) + ""))
+ ":" + ((Integer.valueOf(minute) < 10) ? ("0" + Integer.valueOf(minute)) : (Integer.valueOf(minute) + "")) + ":00";
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// System.out.println(questionTime);
try {
question.setTrouble_time(sdf.parse(questionTime));
} catch (Exception ex) {
//ex.printStackTrace();
}

UserInfo userInfo = (UserInfo) request.getSession().getAttribute("userInfo");
// question.setUser_id(userInfo.getId());
question.setUserID(userInfo.getId());
java.text.SimpleDateFormat sdfsecond = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date date = new java.util.Date(System.currentTimeMillis());
question.setCreate_time(new Date(System.currentTimeMillis()));

// question.setServiceType("客服");
// question.setDeliveryState("首次投递");
// try{
// question.setCreateDay(sdfsecond.parse(sdfsecond.format(date)));
// }catch(Exception ex){
//
// }
// String questionContent = new String(httpServletRequest.getParameter("questionContent").getBytes("ISO-8859-1"),"gb2312");
// question.setDescription(questionContent.trim());
// question.setOrderType("产品");

//question.setCreateDate(new java.util.Date(System.currentTimeMillis()));
// question.setDeliveryState("首次投递");
// question.setServiceType("客服");

questionService.saveQuestion(question);
// CustomerQuestion cq = questionService.returnCustomerQuestion(question.getMobileNumber(),question.getCreateDate(),false);
// IOrderStateService stateService = ServiceFactory.returnIOrderStateService();
// OrderState os = new OrderState();
// os.setOrderId(cq.getId());
// os.setUserId(userInfo.getId());
// os.setFirstDelivery(1);
// stateService.save(os);
return null;
}

public void saveObject(HttpServletRequest request) {
//To change body of implemented methods use File | Settings | File Templates.
}

public void deleteObject(HttpServletRequest request) {
//To change body of implemented methods use File | Settings | File Templates.
}

/**
*
* @param str
* @param encoding
* @return
*/
public String encodingExceptionFilter(String str, String encoding) {
if (str == null) return null;
String strFilter = null;
try {
strFilter = new String(str.getBytes("ISO-8859-1"), encoding);
} catch (Exception ex) {

}
return strFilter;
}

/**
*
* @param numStr
* @return
*/
public boolean isNumber(String numStr) {
try {
Integer.valueOf(numStr);
} catch (Exception ex) {
return false;
}
return true;
}

public boolean isLong(String numStr) {
try {
Long.valueOf(numStr);
} catch (Exception ex) {
return false;
}
return true;
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值