login.jsp的内容是
<!-- http://127.0.0.1:8080//FightLandlordServer/jsp/umg/login.jsp -->
<%@ page language="java" import="java.util.*" pageEncoding="GBK"
isELIgnored="false"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":"
+ request.getServerPort() + path + "/";
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<style>
#userName {
max-width: 140px;
background: url(images/bg.gif);
}#password {
max-width: 140px;
background: url(images/bg.gif);
}.btn {
background: url(images/btn.gif);
}body {
color: #008888;
/*background:#336600;*/
}.login {
position: absolute;
top: 50%;
left: 60%;
}tr {
padding: 20px 0px;
}.loginLogo {
position: absolute;
top: 26%;
left: 26%;
}
</style>
</head> <body>
<img src="images/loginLogo.gif" class="loginLogo" />
<div class="login">
<form action="LoginServlet" method="get">
用户名
<input type="text" name="userName" id="userName" />
<br />
<br />
密 码
<input type="password" name="password" id="password" />
<br />
<br />
用户类型
<select name="userType">
<option selected="selected">
玩家
</option>
<option>
管理员
</option>
</select>
<br />
<br />
<input type="submit" name="submit" value="登录" class="btn" />
<input type="reset" " name="reset" value="重置" class="btn" />
</form>
<font color="red">${message}</font>
</div>
</body>
</html>
----------------------------------------------------------
后台处理servlet是LoginServlet.java
package com.ddz.control;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* 功能说明:处理http://127.0.0.1:8080//FightLandlordServer/jsp/umg/login.jsp的请求
* @author Administrator
*
*/
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
doPost(request, response);
} public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
HttpSession session = request.getSession();
String userName= new String(request.getParameter("userName").getBytes("ISO-8859-1"),"gbk");
String password= request.getParameter("password");
String userType= new String(request.getParameter("userType").getBytes("ISO-8859-1"),"gbk");
System.out.println("userType:"+userType);
System.out.println("userName:"+userName);
String loginFlag=GameServlet.dsi.loginVerify(userName, password);
request.setAttribute("message", loginFlag);
if(loginFlag.equals("success")){
session.setAttribute("user", GameServlet.dsi.getNameByUserName(userName));
System.out.println("userType:"+userType);
if(userType.equals("玩家")){
request.getRequestDispatcher("jsp/umg/player.jsp").forward(request, response);
}else{
request.getRequestDispatcher("jsp/umg/manager.jsp").forward(request, response);
}
}else{//登录失败
request.getRequestDispatcher("jsp/umg/login.jsp").forward(request, response);
}
}}
<!-- http://127.0.0.1:8080//FightLandlordServer/jsp/umg/login.jsp -->
<%@ page language="java" import="java.util.*" pageEncoding="GBK"
isELIgnored="false"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":"
+ request.getServerPort() + path + "/";
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<style>
#userName {
max-width: 140px;
background: url(images/bg.gif);
}#password {
max-width: 140px;
background: url(images/bg.gif);
}.btn {
background: url(images/btn.gif);
}body {
color: #008888;
/*background:#336600;*/
}.login {
position: absolute;
top: 50%;
left: 60%;
}tr {
padding: 20px 0px;
}.loginLogo {
position: absolute;
top: 26%;
left: 26%;
}
</style>
</head> <body>
<img src="images/loginLogo.gif" class="loginLogo" />
<div class="login">
<form action="LoginServlet" method="get">
用户名
<input type="text" name="userName" id="userName" />
<br />
<br />
密 码
<input type="password" name="password" id="password" />
<br />
<br />
用户类型
<select name="userType">
<option selected="selected">
玩家
</option>
<option>
管理员
</option>
</select>
<br />
<br />
<input type="submit" name="submit" value="登录" class="btn" />
<input type="reset" " name="reset" value="重置" class="btn" />
</form>
<font color="red">${message}</font>
</div>
</body>
</html>
----------------------------------------------------------
后台处理servlet是LoginServlet.java
package com.ddz.control;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* 功能说明:处理http://127.0.0.1:8080//FightLandlordServer/jsp/umg/login.jsp的请求
* @author Administrator
*
*/
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
doPost(request, response);
} public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
HttpSession session = request.getSession();
String userName= new String(request.getParameter("userName").getBytes("ISO-8859-1"),"gbk");
String password= request.getParameter("password");
String userType= new String(request.getParameter("userType").getBytes("ISO-8859-1"),"gbk");
System.out.println("userType:"+userType);
System.out.println("userName:"+userName);
String loginFlag=GameServlet.dsi.loginVerify(userName, password);
request.setAttribute("message", loginFlag);
if(loginFlag.equals("success")){
session.setAttribute("user", GameServlet.dsi.getNameByUserName(userName));
System.out.println("userType:"+userType);
if(userType.equals("玩家")){
request.getRequestDispatcher("jsp/umg/player.jsp").forward(request, response);
}else{
request.getRequestDispatcher("jsp/umg/manager.jsp").forward(request, response);
}
}else{//登录失败
request.getRequestDispatcher("jsp/umg/login.jsp").forward(request, response);
}
}}
解决方案 »
- 求高手帮忙下关于Hibernate的hql语句返回list的问题
- struts2 ognl 如何判断session中的一个属性是否存在
- 证书
- 还可以 能不能注意些排版
- 没有人帮忙,我继续问了
- 求正则高手如何取网页中的指定内容
- 世纪小难题
- 求助:我建的TOMCAT服务器,下显示的JSP都是乱码,必须在IE中手工选择简体中文才可以,请问怎么解决?
- 急急急急急急急急急急!用response.sendRedirect("./specerror.jsp");为什么会出现Document moved提示?
- 可不可以在JSP中加入ActiveX控件 此问题500分
- jsp中的JSTL小问题
- Extjs autoLoad问题 无法加载页面 但是iframe可以
就不要再用new String(request.getParameter("userName").getBytes("ISO-8859-1"),"gbk");
去转码了,选用其中的一个方法就够了。
第二、把 tomcat 里的 编码 配置好
统一一样 最好 为"utf-8"
页面 同上面 一样 为"utf-8"具体 怎么弄 自己 在网上搜一下 操作 一下 以后你就不会 这么纠结了
//最好就是用UTF-8,因为代码要国际化一点,当然,你也可以用GBK
2、设置过滤器,过滤器设置为UTF-8,这样哪怕是你的JSP页面是GBK也没多大问题,最好JSP页面与过滤器的设置一致。PS:如果你知道过滤器,你会省掉很多事情。
request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
HttpSession session = request.getSession();
String password= request.getParameter("password");
System.out.println("userType:"+userType);
System.out.println("userName:"+userName);
iso-8859-1那个转码也去掉,试试。