servlet中通过request.getRequestDispatcher跳转到jsp页面乱码问题

本文介绍了一个简单的Servlet实现,用于处理用户的登录请求,并通过查询数据库来验证用户的身份。该Servlet使用了doGet和doPost方法来处理HTTP请求,同时考虑了字符编码的问题。
public class ValidateUserServlet extends HttpServlet {


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
doPost(request, response);
out.flush();
out.close();

}


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String userName = request.getParameter("userName");
String userPass = request.getParameter("userPass");
System.out.println("userName"+userName);
System.out.println("userPass"+userPass);
User user = new User();
user.setUserName(userName);
user.setUserPass(userPass);
ValidateUser validaetUser = new ValidateUser();
ResultSet rs = validaetUser.validaetUser(user);

try {
while(rs.next()){
System.out.println(rs.getString(2));
if(rs.getInt(3)==1){
//response.sendRedirect("liulan.jsp");
request.getRequestDispatcher("zhuce.jsp").forward(request, response);   //转发后乱码,在doGet  中加上request.setCharacterEncoding("UTF-8");
} //正常
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

out.flush();
out.close();
}

package com.controller; 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 com.pojo.Dept; import com.pojo.Job; import com.service.DeptService; import com.service.JobService; /** * Servlet implementation class AddJobServlet */ @WebServlet("/AddJobServlet") public class AddJobServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public AddJobServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); //接收请求参数 String jobnoString = request.getParameter("jobno"); int jobno = 0; if (! "".equals(jobnoString)) { jobno = Integer.parseInt(jobnoString); } String jobname = request.getParameter("jobname"); Job job = new Job(); job.setJobno(jobno); job.setJobname(jobname); //调用业务层,处理请求 JobService service = new JobService(); String msg; if (service.searchJobById(jobno) == null) { //添加职务 service.addJob(job); msg = "职务添加成功!"; }else { //部门已存在 msg = "职务编号已被占用!"; } //跳转 request.setAttribute("msg", msg); request.getRequestDispatcher("addJob.jsp").forward(request, response); } } 页面怎么不显示职务添加成功已被占用
最新发布
09-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值