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

用户验证Servlet实现
本文介绍了一个简单的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.example.servlet; import com.example.dao.SportsProductDAO; import com.example.model.SportsProduct; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; @WebServlet("/products") public class ProductServlet extends HttpServlet { private SportsProductDAO dao = new SportsProductDAO(); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getParameter("action"); switch (action == null ? "list" : action) { case "add": showAddForm(request, response); break; case "edit": showEditForm(request, response); break; case "delete": deleteProduct(request, response); break; default: listProducts(request, response); break; } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getParameter("action"); if ("save".equals(action)) { saveProduct(request, response); } } // 显示商品列表 private void listProducts(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<SportsProduct> products = dao.getAllProducts(); request.setAttribute("products", products); request.getRequestDispatcher("/list.html").forward(request, response); } // 显示添加表单 private void showAddForm(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setAttribute("product", new SportsProduct()); request.getRequestDispatcher("/form.html").forward(request, response); } // 显示编辑表单 private void showEditForm(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int id = Integer.parseInt(request.getParameter("id")); SportsProduct product = dao.getProductById(id); request.setAttribute("product", product); request.getRequestDispatcher("/form.html").forward(request, response); } // 保存商品(新增或修改) private void saveProduct(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置编码 request.setCharacterEncoding("UTF-8"); Integer id = null; try { id = Integer.parseInt(request.getParameter("id")); } catch (NumberFormatException e) {} String name = request.getParameter("name"); double price = Double.parseDouble(request.getParameter("price")); int stock = Integer.parseInt(request.getParameter("stock")); String category = request.getParameter("category"); SportsProduct product; if (id != null && id > 0) { product = new SportsProduct(id, name, price, stock, category); dao.updateProduct(product); } else { product = new SportsProduct(null, name, price, stock, category); dao.addProduct(product); } response.sendRedirect("products"); } // 删除商品 private void deleteProduct(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int id = Integer.parseInt(request.getParameter("id")); dao.deleteProduct(id); response.sendRedirect("products"); } } 为什么报错
最新发布
12-08
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、付费专栏及课程。

余额充值