JSP_Servlet 解决中文乱码登录问题

package com.wskj.servlet;

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.wskj.service.LogerService;

@WebServlet(name="LogerServlet",urlPatterns={"/login.do"})
public class LogerServlet extends HttpServlet {

    LogerService logerService = new LogerService();
    
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
        req.getRequestDispatcher("/pageHome.jsp").forward(req, resp);
        
        
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
        req.setCharacterEncoding("utf8");
        resp.setCharacterEncoding("utf8");
        String name = req.getParameter("name");
        String pass = req.getParameter("pass");
        if(name.equals("张三")&&pass.equals("123")){
            
            resp.sendRedirect(req.getContextPath()+"/success.jsp");
        }else{
            
            resp.sendRedirect(req.getContextPath()+"/pageHome.jsp");
        }
        
    }
}

假如用户名是中文的,那么在dopost方法里上面必须设置

 req.setCharacterEncoding("utf8");
        resp.setCharacterEncoding("utf8");

不然的话登录不会成功的,编译提交到Servlet里的值为乱码状态,匹配不上所以登录会失败!!

 

posted @ 2017-02-21 15:26  萌萌的小川  阅读(660)  评论(0编辑  收藏  举报