用Jsp+Servlet+JavaBean写的注册登陆界面,解决中文乱码
2014-05-16 15:58
525 查看
话说这学期课是真多啊,忙成一个球了!还好从昨天开始,我们学校就举办运动会了,大二以上年级休息四天,哈哈哈
不要太羡慕啊~
今天上午写了一个注册+登陆页面
使用的技术主要有:Jsp Servlet Javabean
遇到的问题:JavaBean的getName()方法若为中文则显示乱码,就这个问题我真是历尽千辛万苦啊,contentType,pageEndoing统一的设成gbk不行,设置了字符编码过滤器后session.setAttribute(session_name,session_value)设置的值和session.getAttribute(session_name)已经可以显示中文,但使用Javabean的类userBean的getName()方法还是乱码,此时心中顿时感觉有一万头神马呼啸着狂奔而过...后来在网上看到一篇帖子,它的思想是在写一个JavaBean类将字符编码转换一下(http://hi.baidu.com/ixuzpycgedbnsvq/item/1b07e633fcc166f5e6bb7a6f),这样转码之后,就完全可以支持中文了
#Jsp reg.jsp 注册页面
#Jsp loginCheck.jsp 登陆检查页面
#Servlet 使用过滤器实现转码编码
#JavaBean userBean
主要思路
1.打开 reg.jsp 进行注册(regCheck.jsp进行注册判断,如成功将用户名和密码存入session,并使用servlet过滤器将字符编码转换为gb2312,避免中文乱码)
2.注册成功后点击 登陆 进入登陆界面(login.jsp)
3.填写注册时的用户名和密码,点击submit(loginCheck.jsp进行注册判断,使用JavaBean将输入值与session存入值进行等值判断,若相等,重定向至welcome.jsp,若不等,重定向到errorPage.jsp)
展示效果如下
不要太羡慕啊~
今天上午写了一个注册+登陆页面
使用的技术主要有:Jsp Servlet Javabean
遇到的问题:JavaBean的getName()方法若为中文则显示乱码,就这个问题我真是历尽千辛万苦啊,contentType,pageEndoing统一的设成gbk不行,设置了字符编码过滤器后session.setAttribute(session_name,session_value)设置的值和session.getAttribute(session_name)已经可以显示中文,但使用Javabean的类userBean的getName()方法还是乱码,此时心中顿时感觉有一万头神马呼啸着狂奔而过...后来在网上看到一篇帖子,它的思想是在写一个JavaBean类将字符编码转换一下(http://hi.baidu.com/ixuzpycgedbnsvq/item/1b07e633fcc166f5e6bb7a6f),这样转码之后,就完全可以支持中文了
#Jsp reg.jsp 注册页面
<%@ page contentType="text/html; charset=gbk" language="java" import="java.sql.*" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <meta name="description" content="MySpace By Young Studio" /> <link rel="stylesheet" href="css/frame.css" media="screen" /> <link rel="stylesheet" href="css/test.css" media="screen" /> <script type="text/javascript" src="js/test.js"></script> <title>Register_test</title> </head> <body> <div id="content"> <header> <h1>RegSpace</h1> </header> <hr /> <!--注册表单--> <div id="reg"> <form name="form1" method="post" action="regCheck.jsp"> <div>姓名:<input type="text" name="name" class="formInput" placeholder="如:张三" autofocus="autofocus"/> <label class="la" id="Lname"></label></div><br /> <div>年龄:<input type="number" name="age" class="formInput" placeholder="如:17" /> <label class="la" id="Lage"></label></div><br /> <div>体重:<input type="number" name="weight" class="formInput" placeholder="如:75" /> <label class="la" id="Lweight"></label></div><br /> <div>班级:<select size="1" id ="selclass" name="selclass" > <option value="计121-1" selected="selected">计121-1</option> <option value="计121-2" >计121-2</option> <option value="计122-1" >计122-1</option> <option value="计122-2" >计122-2</option> <option value="计123-1" >计123-1</option> <option value="计123-2" >计123-2</option> <option value="计124-1" >计124-1</option> <option value="计124-2" >计124-2</option> <option value="计124-2" >计125</option> </select> <label class="la" id="Lclass"></label></div><br /> <div>密码:<input type="password" name="pwd" class="formInput" placeholder="xxxx" /> <label class="la" id="Lpwd"></label></div><br /> <div>重复密码:<input type="password" name="repwd" class="formInput" placeholder="xxxx" style="margin-left:8px;position:relative;" /> <label class="la" id="Lrepwd"></label></div><br /> <div>Email:<input type="email" name="email" class="formInput" placeholder="xxx@xx.xx" style="margin-left:33px;position:relative;" /> <label class="la" id="Lemail"></label></div><br /> <div>简介:<textarea name="brief" class="formTextarea" placeholder="我来自…"></textarea> <label class="la" id="Lbrief"></label></div><br /> <input type="submit" value="注册" class="formInput" onClick="return reg();" /> </form> </div><!--#reg--> </div><!--#content--> </body> </html>#Jsp regCheck.jsp 注册检查页面
<%@ page contentType="text/html; charset=gbk" language="java" import="user.userBean"%> <jsp:useBean id="love" class="user.userBean" scope="page" /> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <meta name="description" content="MySpace By Young Studio" /> <link rel="stylesheet" href="css/frame.css" media="screen" /> <link rel="stylesheet" href="css/test.css" media="screen" /> <script type="text/javascript" src="js/test.js"></script> <title>Login_test</title> </head> <body> <div id="content"> <header> <h1>LoginSpace</h1> </header> <hr /> <!--注册表单--> <div id="maincotent"> <fieldset> <legend>用户注册</legend> <p>欢迎你!</p> <% request.setCharacterEncoding("gbk"); String name = request.getParameter("name"); String pwd = request.getParameter("pwd"); session.setAttribute("name",name); session.setAttribute("pwd",pwd); out.println(name); out.println("<p>点击<a href='login.jsp'>这里</a>登陆</p>"); %> </fieldset> </div><!--#maincontent--> </div><!--#content--> </body> </html>#Jsp login.jsp 登陆页面
<%@ page contentType="text/html; charset=gbk" language="java" import="java.sql.*" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> <meta name="description" content="MySpace By Young Studio" /> <link rel="stylesheet" href="css/frame.css" media="screen" /> <link rel="stylesheet" href="css/test.css" media="screen" /> <script type="text/javascript" src="js/test.js"></script> <title>Login_test</title> </head> <body> <div id="content"> <header> <h1>LoginSpace</h1> </header> <hr /> <!--登陆表单--> <div id="maincontent"> <fieldset> <legend>用户登陆</legend> <form name="form1" method="get" action="loginCheck.jsp"> <div>用户:<input type="text" name="name" class="formInput" autofocus="autofocus"/> <label class="la" id="Lname"></label></div><br /> <div>密码:<input type="password" name="pwd" class="formInput" /> <label class="la" id="Lage"></label></div><br /> <input type="submit" value="登陆" class="formInput" onClick="return loginChk();" /> </form> </fieldset> </div><!--#maincontent--> </div><!--#content--> </body> </html>
#Jsp loginCheck.jsp 登陆检查页面
<%@ page contentType="text/html; charset=gbk" language="java" pageEncoding="gbk" import="user.MyTools" %> <jsp:useBean id="demo" class="user.userBean" scope="application" /> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <meta name="description" content="MySpace By Young Studio" /> <link rel="stylesheet" href="css/frame.css" media="screen" /> <link rel="stylesheet" href="css/test.css" media="screen" /> <script type="text/javascript" src="js/test.js"></script> <title>Login_test</title> </head> <body> <div id="content"> <header> <h1>LoginSpace</h1> </header> <hr /> <!--loginCheck--> <div id="maincontent"> <fieldset> <legend>用户登陆</legend> <jsp:setProperty name="demo" property="*" /> <% String name = session.getAttribute("name").toString(); String pwd = session.getAttribute("pwd").toString(); String cname = MyTools.toChinese(demo.getName()); //使用MyTools的方法将字符转码 String cpwd = MyTools.toChinese(demo.getPwd());//使用MyTools的方法将字符转码 if(name.equals(cname) && pwd.equals(cpwd)) { response.sendRedirect("welcome.jsp"); } else { response.sendRedirect("errorPage.jsp"); } %> </fieldset> </div><!--#maincontent--> </div><!--#content--> </body> </html>#Jsp welcome.jsp 登陆成功页面
<%@ page contentType="text/html; charset=gbk" language="java" import="user.MyTools" %> <jsp:useBean id="demo" class="user.userBean" scope="application" /> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <meta name="description" content="MySpace By Young Studio" /> <link rel="stylesheet" href="css/frame.css" media="screen" /> <link rel="stylesheet" href="css/test.css" media="screen" /> <script type="text/javascript" src="js/test.js"></script> <title>Welcome</title> </head> <body> <div id="content"> <header> <h1>Space</h1> </header> <hr /> <!--welcome--> <div id="maincontent"> <fieldset> <p>欢迎您!</p> <p><%=MyTools.toChinese(demo.getName())%></p> //使用MyTools的getName方法将字符转码 </fieldset> </div><!--#maincontent--> </div><!--#content--> </body> </html>#Jsp errorPage.jsp 登陆失败页面
<%@ page contentType="text/html; charset=gbk" language="java" import="java.sql.*" isErrorPage="true" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <meta name="description" content="MySpace By Young Studio" /> <link rel="stylesheet" href="css/frame.css" media="screen" /> <link rel="stylesheet" href="css/test.css" media="screen" /> <script type="text/javascript" src="js/test.js"></script> <title>ErrorPage</title> </head> <body> <div id="content"> <header> <h1>ErrorPage</h1> </header> <hr /> <!--errorPage--> <div id="reg"> <fieldset> <% out.println("登陆失败"); out.println("<p>点击<a href='login.jsp'>这里</a>重新登陆</p>"); %> </fieldset> </div><!--#reg--> </div><!--#content--> </body> </html>
#Servlet 使用过滤器实现转码编码
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ManageFilter implements Filter { protected String encoding = "gbk"; protected FilterConfig filterConfig = null; public void init(FilterConfig filterConfig) throws ServletException{ this.filterConfig = filterConfig; this.encoding = filterConfig.getInitParameter("encoding"); } public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException,ServletException{ HttpServletRequest res = (HttpServletRequest)request; res.setCharacterEncoding(encoding); chain.doFilter(request,response); } public void destroy(){ this.filterConfig = null; } }
#JavaBean userBean
package user; public class userBean { private String name; private String pwd; public userBean(){} public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setPwd(String pass){ pwd = pass; } public String getPwd(){ return pwd; } }#JavaBean 字符转码
package user; import java.io.UnsupportedEncodingException; public class MyTools { public static String toChinese(String str) { if (str == null) str = ""; try { // 通过String类的构造方法将,指定的字符串转换为“gbk”编码 str = new String(str.getBytes("ISO-8859-1"), "gbk"); } catch (UnsupportedEncodingException e) { str = ""; e.printStackTrace(); } return str; } }#web.xml 配置如下
<?xml version="1.0" encoding="gb2312"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"> <filter> <filter-name>ManageFilter</filter-name> <filter-class>ManageFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>gbk</param-value> </init-param> </filter> <filter-mapping> <filter-name>ManageFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
主要思路
1.打开 reg.jsp 进行注册(regCheck.jsp进行注册判断,如成功将用户名和密码存入session,并使用servlet过滤器将字符编码转换为gb2312,避免中文乱码)
2.注册成功后点击 登陆 进入登陆界面(login.jsp)
3.填写注册时的用户名和密码,点击submit(loginCheck.jsp进行注册判断,使用JavaBean将输入值与session存入值进行等值判断,若相等,重定向至welcome.jsp,若不等,重定向到errorPage.jsp)
展示效果如下
相关文章推荐
- javaWeb入门<1>Servlet+Jsp+JavaBean实现MVC开发模式登陆注册实例详解
- 方立勋_30天掌握JavaWeb_(Servlet+JSP+JavaBean实现)用户注册和登陆
- MyBlog部分模块---基于Servlet+JSP+JavaBean实现登陆注册验证功能
- JSP中文参数传至JavaBean出现乱码
- JSP+JAVABEAN+SERVLET模式的注册实例实现
- MVC模式Jsp+Servlet+Javabean解决时间标签控制办公合同菜单问题
- Java/JSP中文乱码问题解决心得
- JSP/Servlet页面中文显示为乱码的解决方式
- Tomcat中用Filter解决JSP提交中文信息到Servlet的乱码问题
- JSP+JAVABEAN+SERVLET模式的注册实例实现
- TOMCAT 下中文乱码问题解决集锦/Java/JSP中文乱码问题解决
- Java/JSP中文乱码问题解决心得
- Java 中文问题的解决 mysql, oracle, servlet, jsp
- Tomcat中用Filter解决JSP提交中文信息到Servlet的乱码问题
- Java/JSP中文乱码问题解决心得
- Java/JSP中文乱码问题解决心得
- Java 中文问题的解决 mysql, oracle, servlet, jsp
- 对Java/JSP中文乱码问题解决心得
- JSP/Servlet页面中文显示为乱码的解决方式
- Java 中文问题的解决 mysql, oracle, servlet, jsp