在jsp中.如何获得登陆qq空间参数非法参数j

JSP用bean获取各种参数-JSP技巧
||||||||||||
当前位置 &
Tag:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
JSP用bean获取各种参数
发表日期:
/**&*&* @author lucifer&*/ public class Systemoperties {&&&& public String getRuntimeEnvironmentVersion(){&&&&&&&&& return System.getProperty(".version");&&&& }&&&& public String getRuntimeEnvironmentVendor(){&&&&&&&&& return System.getProperty("java.vendor");&&&& }
&&&& public String getVmVersion(){&&&&&&&&& return System.getProperty("java.vm.version");&&&& }&&&& public String getVmVendor(){&&&&&&&&& return System.getProperty("java.vm.vendor");&&&& }&&&& public String getVmName(){&&&&&&&&& return System.getProperty("java.vm.name");&&&& }
&&&& public String getVmSpecVersion(){&&&&&&&&& return System.getProperty("java.vm.specification.version");&&&& }&&&& public String getVmSpecVendor(){&&&&&&&&& return System.getProperty("java.vm.specification.vendor");&&&& }&&&& public String getVmSpecName(){&&&&&&&&& return System.getProperty("java.vm.specification.name");&&&& }
&&&& public String getRteSpecName(){&&&&&&&&& return System.getProperty("java.specification.name");&&&& }&&&& public String getRteSpecVersion(){&&&&&&&&& return System.getProperty("java.specification.version");&&&& }&&&& public String getRteSpecVendor(){&&&&&&&&& return System.getProperty("java.specification.vendor");&&&& }
&&&& public String gettingSystemName(){&&&&&&&&& return System.getProperty("os.name");&&&& }&&&& public String getOperatingSystemVersion(){&&&&&&&&& return System.getProperty("os.version");&&&& }&&&& public String getOperatingSystemArchitecture(){&&&&&&&&& return System.getProperty("os.arch");&&&& }}
&%-- &&& Document&& : usebean&&& Created on : , 13:06:24&&& Author&&&& : lucifer--%&
& contentType="text/html" pageEncoding="UTF-8"%&&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&& ""&&jsp:useBean id="properties" class="beanpackage.SystemProperties"/&&html&&&& &head&&&&&&&& &meta http-equiv="Content-Type" content="text/ charset=UTF-8"&&&&&&&& &title&JSP Page&/title&&&& &/head&&&& &body&&&&&&&&& Operating System Name:&&&&&&&& &jsp:getProperty name="properties" property="operatingSystemName"/&&&&&&&&& &br&&&&&&&&& Operating System Version:&&&&&&&& &jsp:getProperty name="properties" property="operatingSystemVersion"/&&&&&&&&& &br&&&&&&&&& Operating System Architecture:&&&&&&&& &jsp:getProperty name="properties" property="operatingSystemArchitecture"/&&&&&&&&& &br&&&&&&&&& &br&&&&&&&&& Runtime Environment Version(JDK version):&&&&&&&& &jsp:getProperty name="properties" property="runtimeEnvironmentVersion"/&&&&&&&&& &br&&&&&&&&& Runtime Environment Vendor(JDK vendor):&&&&&&&& &jsp:getProperty name="properties" property="runtimeEnvironmentVendor"/&&&&&&&&& &br&&&&&&&&& &br&&&&&&&&& VM Version:&&&&&&&& &jsp:getProperty name="properties" property="vmVersion"/&&&&&&&&& &br&&&&&&&&& VM Vendor:&&&&&&&& &jsp:getProperty name="properties" property="vmVendor"/&&&&&&&&& &br&&&&&&&&& VM Name:&&&&&&&& &jsp:getProperty name="properties" property="vmName"/&&&&&&&&& &br&&&&&&&&& &br&&&&&&&&& RTE Specification Version:&&&&&&&& &jsp:getProperty name="properties" property="rteSpecVersion"/&&&&&&&&& &br&&&&&&&&& RTE Specification Vendor:&&&&&&&& &jsp:getProperty name="properties" property="rteSpecVendor"/&&&&&&&&& &br&&&&&&&&& RTE Specification Name:&&&&&&&& &jsp:getProperty name="properties" property="rteSpecName"/&&&&&&&&& &br&&&&&&&&& &br&&&&&&&&& VM Specification Name:&&&&&&&& &jsp:getProperty name="properties" property="vmSpecName"/&&&&&&&&& &br&&&&&&&&& VM Specification Version:&&&&&&&& &jsp:getProperty name="properties" property="vmSpecVersion"/&&&&&&&&& &br&&&&&&&&& VM Specification Vendor:&&&&&&&& &jsp:getProperty name="properties" property="vmSpecVendor"/&&&& &/body&&/html&
Operating System Name: Windows
Operating System Version: 6.0 Operating System Architecture: x86
Runtime Environment Version(JDK version): 1.6.0_16 Runtime Environment Vendor(JDK vendor): Sun Microsystems Inc.
VM Version: 14.2-b01 VM Vendor: Sun Microsystems Inc. VM Name: Java HotSpot(TM) Client VM
RTE Specification Version: 1.6 RTE Specification Vendor: Sun Microsystems Inc. RTE Specification Name: Java Platform API Specification
VM Specification Name: Java Virtual Machine Specification VM Specification Version: 1.0 VM Specification Vendor: Sun Microsystems Inc.
上一篇: (人气:8657)
下一篇:(人气:7634)
教程搜索服务
本月文章推荐
项目外包信息
网络编程文章分类
站长工具:
实用工具:
Copyright &
All rights reserved | 沪ICP备号&1&package&com.he.
&3&import&java.sql.C
&4&import&java.sql.DriverM
&5&import&java.sql.PreparedS
&6&import&java.sql.ResultS
&7&import&java.sql.SQLE
&8&import&java.sql.S
10&public&class&DB&{
12&&&&&private&static&DB&db&=&null;
13&&&&&private&static&Connection&conn&=&null;
14&&&&&private&static&Statement&stmt&=&null;
16&&&&&//单例模式,new&DB类的时候,创建唯一对象,只初始化一次,
17&&&&&//注意:不要显式交闭此static中的Connection和Statement对象,否则抛空指针异常
18&&&&&static{
19&&&&&&&&&try&{
20&&&&&&&&&&&&&String&driverClass&=&"net.sourceforge.jtds.jdbc.Driver";
21&&&&&&&&&&&&&String&url&=&"jdbc:jtds:sqlserver://localhost:1433;DatabaseName=login";
22&&&&&&&&&&&&&String&username&=&"sa";&&&&&&&&//edit
23&&&&&&&&&&&&&String&password&=&"";&&&&//edit
24&&&&&&&&&&&&&Class.forName(driverClass);
25&&&&&&&&&&&&&conn&=&DriverManager.getConnection(url,username,password);
26&&&&&&&&&&&&&stmt&=&conn.createStatement();
27&&&&&&&&&&&&&System.out.println("--------初始化---------");
28&&&&&&&&&}&catch&(ClassNotFoundException&e)&{
29&&&&&&&&&&&&&System.out.println("----------&加载数据库驱动类时发生异常:&----------");
30&&&&&&&&&&&&&e.printStackTrace();
31&&&&&&&&&}&catch&(SQLException&e)&{
32&&&&&&&&&&&&&System.out.println("------------&getConnection()方法发生异常--------------");
33&&&&&&&&&}
36&&&&&//创建PrepareStatement对象
37&&&&&public&PreparedStatement&prepareStmt(String&sql){
38&&&&&&&&&PreparedStatement&pstmt&=&null;
39&&&&&&&&&try&{
40&&&&&&&&&&&&&pstmt&=&conn.prepareStatement(sql);
41&&&&&&&&&}&catch&(SQLException&e)&{
42&&&&&&&&&&&&&System.out.println("-------------prepareStmt()方法发生异常-------------------");
43&&&&&&&&&&&&&e.printStackTrace();
44&&&&&&&&&}
45&&&&&&&&&return&
48&&&&&//执行查询所有记录操作
49&&&&&public&ResultSet&exeQuery(String&sql){
50&&&&&&&&&ResultSet&rs&=&null;
51&&&&&&&&&try&{
52&&&&&&&&&&&&&rs&=&stmt.executeQuery(sql);
53&&&&&&&&&}&catch&(SQLException&e)&{
54&&&&&&&&&&&&&System.out.println("------------exeQuery()方法发生异常:&--------------------");
55&&&&&&&&&&&&&e.printStackTrace();
56&&&&&&&&&}
57&&&&&&&&&return&
60&&&&&//执行保存、更新、删除操作
61&&&&&public&void&exeUpdate(String&sql){
62&&&&&&&&&try{
63&&&&&&&&&&&&&stmt.executeUpdate(sql);
64&&&&&&&&&}&catch(SQLException&e){
65&&&&&&&&&&&&&System.out.println("-------------&exeUpdate()方法发生异常------------------");
66&&&&&&&&&&&&&e.printStackTrace();
67&&&&&&&&&}
71&&&&&//关闭PreparedStatement对象
72&&&&&public&void&closePstmt(PreparedStatement&pstmt){
73&&&&&&&&&try{
74&&&&&&&&&&&&&pstmt.close();
75&&&&&&&&&&&&&pstmt&=&null;
76&&&&&&&&&}catch(SQLException&e){
77&&&&&&&&&&&&&System.out.println("--------------------&DB.closePstmt()方法发生异常&-------------------------");
78&&&&&&&&&&&&&e.printStackTrace();
79&&&&&&&&&}
82&&&&&//关闭ResultSet对象
83&&&&&public&void&closeRs(ResultSet&rs){
84&&&&&&&&&try{
85&&&&&&&&&&&&&rs.close();
86&&&&&&&&&&&&&rs&=&null;
87&&&&&&&&&}catch(SQLException&e){
88&&&&&&&&&&&&&System.out.println("--------------------&DB.closePstmt()方法发生异常&-------------------------");
89&&&&&&&&&&&&&e.printStackTrace();
90&&&&&&&&&}
3,com.he.manager里的Manager.java,作用是实现登录系统所需要用到的各项功能。例如添加帐号,查看是否数据库里有同名帐号等。。
&1&package&com.he.
&3&import&java.sql.PreparedS
&4&import&java.sql.ResultS
&5&import&java.sql.SQLE
&6&import&java.util.ArrayL
&7&import&java.util.I
&8&import&java.util.L
&9&import&java.util.regex.P
11&import&com.he.db.DB;
12&import&com.he.pojo.A
13&import&com.sun.org.apache.xerces.internal.impl.xs.identity.Selector.M
15&public&class&Manager&{
17&&&&&DB&db&=&new&DB();
19&&&&&//&添加帐号
20&&&&&public&void&addAccount(Account&account)&{
21&&&&&&&&&PreparedStatement&pstmt&=&null;
22&&&&&&&&&String&sql&=&"insert&into&account(name,pwd,addtime)&values(?,?,?)";
23&&&&&&&&&pstmt&=&db.prepareStmt(sql);
24&&&&&&&&&try&{
25&&&&&&&&&&&&&pstmt.setString(1,&account.getName());
26&&&&&&&&&&&&&pstmt.setString(2,&account.getPwd());
27&&&&&&&&&&&&&pstmt.setString(3,&account.getAddtime());
28&&&&&&&&&&&&&pstmt.executeUpdate();
30&&&&&&&&&}&catch&(SQLException&e)&{
31&&&&&&&&&&&&&System.out
32&&&&&&&&&&&&&&&&&&&&&.println("-----------------Manager.addAccount()方法异常-------------------------");
33&&&&&&&&&&&&&e.printStackTrace();
34&&&&&&&&&}&finally&{
35&&&&&&&&&&&&&db.closePstmt(pstmt);
36&&&&&&&&&}
39&&&&&//&查看数据库里是否有指定name的相同记录;
40&&&&&public&static&boolean&HasAccount(String&name)&{
41&&&&&&&&&DB&db&=&new&DB();
42&&&&&&&&&ResultSet&rs&=&null;
43&&&&&&&&&int&count&=&0;
44&&&&&&&&&String&sql&=&"select&count(*)&from&account&where&name&=&'"&+&name&+&"'";
45&&&&&&&&&rs&=&db.exeQuery(sql);
46&&&&&&&&&try&{
47&&&&&&&&&&&&&while&(rs.next())&{
48&&&&&&&&&&&&&&&&&count&=&rs.getInt(1);
49&&&&&&&&&&&&&}
50&&&&&&&&&}&catch&(SQLException&e)&{
51&&&&&&&&&&&&&System.out
52&&&&&&&&&&&&&&&&&&&&&.println("------------Manager.HasAccount()方法异常------------------------");
53&&&&&&&&&&&&&e.printStackTrace();
54&&&&&&&&&}&finally&{
55&&&&&&&&&&&&&db.closeRs(rs);
56&&&&&&&&&}
57&&&&&&&&&if&(count&&&0)&{
58&&&&&&&&&&&&&return&true;
59&&&&&&&&&}&else
60&&&&&&&&&&&&&return&false;
63&&&&&//&判断提交的帐号密码是否有相应的记录在数据库中;
64&&&&&public&static&boolean&CheckAccount(String&name,&String&pwd)&{
65&&&&&&&&&DB&db&=&new&DB();
66&&&&&&&&&ResultSet&rs&=&null;
67&&&&&&&&&int&count&=&0;
68&&&&&&&&&String&sql&=&"select&count(*)&from&account&where&name&=&'"&+&name
69&&&&&&&&&&&&&&&&&+&"'&and&pwd&=&'"&+&pwd&+&"'&";
70&&&&&&&&&rs&=&db.exeQuery(sql);
71&&&&&&&&&try&{
72&&&&&&&&&&&&&while&(rs.next())&{
73&&&&&&&&&&&&&&&&&count&=&rs.getInt(1);
74&&&&&&&&&&&&&}
75&&&&&&&&&}&catch&(SQLException&e)&{
76&&&&&&&&&&&&&System.out
77&&&&&&&&&&&&&&&&&&&&&.println("-----------Manager.CheckAccount()方法异常--------------");
78&&&&&&&&&}&finally&{
79&&&&&&&&&&&&&db.closeRs(rs);
80&&&&&&&&&}
81&&&&&&&&&if&(count&&&0)&{&//&如果结果大于0;
82&&&&&&&&&&&&&return&true;&//&表示此用户存在;
83&&&&&&&&&}&else
84&&&&&&&&&&&&&return&false;&//&表示此用户不存在;
87&&&&&//&判断提交的帐号密码是否符合要求;
88&&&&&public&static&boolean&CheckForm(String&name,&String&pwd)&{
89&&&&&&&&&String&regEx="[a-zA-Z0-9]{4,8}+";//正则表达示:四到八位的数字或字母
90&&&&&&&&&if(name.matches(regEx)&&pwd.matches(regEx))&return&true;
91&&&&&&&&&else&return&false;
4,com.he.pojo里的Account.java,作用是临时存放并传递帐号的各项属性。
&1&package&com.he.
&3&public&class&Account&{
&4&&&&&private&int&
&5&&&&&private&String&
&6&&&&&private&String&
&7&&&&&private&String&
&9&&&&&public&int&getId()&{
10&&&&&&&&&return&
12&&&&&public&void&setId(int&id)&{
13&&&&&&&&&this.id&=&
16&&&&&public&String&getName()&{
17&&&&&&&&&return&
19&&&&&public&void&setName(String&name)&{
20&&&&&&&&&this.name&=&
23&&&&&public&String&getPwd()&{
24&&&&&&&&&return&
26&&&&&public&void&setPwd(String&pwd)&{
27&&&&&&&&&this.pwd&=&
30&&&&&public&String&getAddtime()&{
31&&&&&&&&&return&
33&&&&&public&void&setAddtime(String&addtime)&{
34&&&&&&&&&this.addtime&=&
5.com.he.bean里的makeCertpic.java,作用是生成验证码的图片。
&1&package&com.he.
&3&import&java.awt.C
&4&import&java.awt.F
&5&import&java.awt.G
&6&import&java.awt.image.BufferedI
&7&import&java.io.IOE
&8&import&java.io.OutputS
&9&import&java.util.R
10&import&javax.imageio.ImageIO;
13&&*&@author&dzy&生成验证码图片
15&public&class&makeCertPic&{
16&&&&&//&验证码图片中可以出现的字符集,可根据需要修改
17&&&&&private&char&mapTable[]&=&{&'a',&'b',&'c',&'d',&'e',&'f',&'g',&'h',&'i',
18&&&&&&&&&&&&&'j',&'k',&'l',&'m',&'n',&'o',&'p',&'q',&'r',&'s',&'t',&'u',&'v',
19&&&&&&&&&&&&&'w',&'x',&'y',&'z',&'0',&'1',&'2',&'3',&'4',&'5',&'6',&'7',&'8',
20&&&&&&&&&&&&&'9'&};
22&&&&&/**
23&&&&&&*&功能:生成彩色验证码图片&参数width为生成的图片的宽度,参数height为生成的图片的高度,参数os为页面的输出流
24&&&&&&*/
25&&&&&public&String&getCertPic(int&width,&int&height,&OutputStream&os)&{
26&&&&&&&&&if&(width&&=&0)
27&&&&&&&&&&&&&width&=&60;
28&&&&&&&&&if&(height&&=&0)
29&&&&&&&&&&&&&height&=&20;
30&&&&&&&&&BufferedImage&image&=&new&BufferedImage(width,&height,
31&&&&&&&&&&&&&&&&&BufferedImage.TYPE_INT_RGB);
32&&&&&&&&&//&获取图形上下文
33&&&&&&&&&Graphics&g&=&image.getGraphics();
34&&&&&&&&&//&设定背景色
35&&&&&&&&&g.setColor(new&Color(0xDCDCDC));
36&&&&&&&&&g.fillRect(0,&0,&width,&height);
37&&&&&&&&&//&画边框
38&&&&&&&&&g.setColor(Color.black);
39&&&&&&&&&g.drawRect(0,&0,&width&-&1,&height&-&1);
40&&&&&&&&&//&取随机产生的认证码
41&&&&&&&&&String&strEnsure&=&"";
42&&&&&&&&&//&4代表4位验证码,如果要生成更多位的认证码,则加大数值
43&&&&&&&&&for&(int&i&=&0;&i&&&4;&++i)&{
44&&&&&&&&&&&&&strEnsure&+=&mapTable[(int)&(mapTable.length&*&Math.random())];
45&&&&&&&&&}
46&&&&&&&&&//&将认证码显示到图象中,如果要生成更多位的认证码,增加drawString语句
47&&&&&&&&&g.setColor(Color.black);
48&&&&&&&&&g.setFont(new&Font("Atlantic&Inline",&Font.PLAIN,&18));
49&&&&&&&&&String&str&=&strEnsure.substring(0,&1);
50&&&&&&&&&g.drawString(str,&8,&17);
51&&&&&&&&&str&=&strEnsure.substring(1,&2);
52&&&&&&&&&g.drawString(str,&20,&15);
53&&&&&&&&&str&=&strEnsure.substring(2,&3);
54&&&&&&&&&g.drawString(str,&35,&18);
55&&&&&&&&&str&=&strEnsure.substring(3,&4);
56&&&&&&&&&g.drawString(str,&45,&15);
57&&&&&&&&&//&随机产生10个干扰点
58&&&&&&&&&Random&rand&=&new&Random();
59&&&&&&&&&for&(int&i&=&0;&i&&&10;&i++)&{
60&&&&&&&&&&&&&int&x&=&rand.nextInt(width);
61&&&&&&&&&&&&&int&y&=&rand.nextInt(height);
62&&&&&&&&&&&&&g.drawOval(x,&y,&1,&1);
63&&&&&&&&&}
64&&&&&&&&&//&释放图形上下文
65&&&&&&&&&g.dispose();
66&&&&&&&&&try&{
67&&&&&&&&&&&&&//&输出图象到页面
68&&&&&&&&&&&&&ImageIO.write(image,&"JPEG",&os);
69&&&&&&&&&}&catch&(IOException&e)&{
70&&&&&&&&&&&&&return&"";
71&&&&&&&&&}
72&&&&&&&&&return&strE
6。com.he.servlet里的LoginServlet.java,作用是验证登录。
&1&package&com.he.
&3&import&java.io.IOE
&4&import&java.io.PrintW
&5&import&java.security.MessageD
&7&import&javax.servlet.ServletE
&8&import&javax.servlet.http.HttpS
&9&import&javax.servlet.http.HttpServletR
10&import&javax.servlet.http.HttpServletR
11&import&javax.servlet.http.HttpS
13&import&com.he.manager.M
15&public&class&LoginServlet&extends&HttpServlet&{
16&&&&&public&void&doGet(HttpServletRequest&request,&HttpServletResponse&response)
17&&&&&&&&&&&&&throws&ServletException,&IOException&{
18&&&&&&&&&PrintWriter&out&=&response.getWriter();
19&&&&&&&&&String&name&=&(String)&request.getParameter("name");
20&&&&&&&&&name&=&name.trim();&&&&&&&&&&&&//去掉字符串首尾空格
21&&&&&&&&&String&pwd&=&(String)&request.getParameter("pwd");&&&&&&&&
22&&&&&&&&&pwd&=&pwd.trim();
23&&&&&&&&&boolean&Check&=&Manager.CheckForm(name,&pwd);&&&&&&&&//验证输入的帐号密码是否符合规则
24&&&&&&&&&System.out.println(Check);
25&&&&&&&&&if&(Check)&{
26&&&&&&&&&&&&&//&将密码转为MD5加密
27&&&&&&&&&&&&&try&{
28&&&&&&&&&&&&&&&&&//&-------生成MessageDigest对象MD-------
29&&&&&&&&&&&&&&&&&MessageDigest&MD&=&MessageDigest.getInstance("MD5");
30&&&&&&&&&&&&&&&&&//&--------传入要计算的字符---------------
31&&&&&&&&&&&&&&&&&MD.update(pwd.getBytes("UTF8"));
32&&&&&&&&&&&&&&&&&//&--------计算信息摘要----------------
33&&&&&&&&&&&&&&&&&byte[]&pwdMD5Byte&=&MD.digest();
34&&&&&&&&&&&&&&&&&pwd&=&new&String(pwdMD5Byte);
35&&&&&&&&&&&&&}&catch&(Exception&e)&{
36&&&&&&&&&&&&&&&&&e.printStackTrace();
37&&&&&&&&&&&&&}
38&&&&&&&&&&&&&String&certCode&=&request.getParameter("certCode");
39&&&&&&&&&&&&&//查看输入的帐号密码是否在数据库里有记录
40&&&&&&&&&&&&&boolean&tag&=&Manager.CheckAccount(name,&pwd);
41&&&&&&&&&&&&&//&执行输出操作(弹出成功的对话框)
42&&&&&&&&&&&&&response.setCharacterEncoding("gbk");&//&解决中文显示问题
43&&&&&&&&&&&&&HttpSession&session&=&request.getSession();
44&&&&&&&&&&&&&if&(certCode.equals((String)&session.getAttribute("certCode")))&{
45&&&&&&&&&&&&&&&&&if&(tag)&{
46&&&&&&&&&&&&&&&&&&&&&session.setAttribute("name",&name);&&&&&&&&&&&&//验证成功的话设置session
47&&&&&&&&&&&&&&&&&&&&&out
48&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.print("&script&language=javascript&alert('Login&Succeed!!');window.location.href='SucceedLogin.jsp';&/script&");
49&&&&&&&&&&&&&&&&&}&else&{
50&&&&&&&&&&&&&&&&&&&&&out
51&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.print("&script&language=javascript&alert('account&or&password&error!!');window.location.href='index.jsp';&/script&");
52&&&&&&&&&&&&&&&&&}
53&&&&&&&&&&&&&}&else&{
54&&&&&&&&&&&&&&&&&out
55&&&&&&&&&&&&&&&&&&&&&&&&&.print("&script&language=javascript&alert('certCode&error!!');window.location.href='index.jsp';&/script&");
56&&&&&&&&&&&&&}
57&&&&&&&&&}&else&{
58&&&&&&&&&&&&&out
59&&&&&&&&&&&&&&&&&&&&&.print("&script&language=javascript&alert('rule&error!!');window.location.href='index.jsp';&/script&");
60&&&&&&&&&}
63&&&&&public&void&doPost(HttpServletRequest&request,&HttpServletResponse&response)
64&&&&&&&&&&&&&throws&ServletException,&IOException&{
65&&&&&&&&&doGet(request,&response);
7。com.he.servlet里的Registe.java作用是进行注册操作。
&1&package&com.he.
&3&import&java.io.IOE
&4&import&java.io.PrintW
&5&import&java.util.D
&6&import&java.security.MessageD
&7&import&java.text.SimpleDateF
&9&import&javax.servlet.ServletE
10&import&javax.servlet.http.HttpS
11&import&javax.servlet.http.HttpServletR
12&import&javax.servlet.http.HttpServletR
13&import&javax.servlet.http.HttpS
15&import&com.he.manager.M
16&import&com.he.pojo.A
18&public&class&RegisteServlet&extends&HttpServlet&{
19&&&&&public&void&doGet(HttpServletRequest&request,&HttpServletResponse&response)
20&&&&&&&&&&&&&throws&ServletException,&IOException&{
21&&&&&&&&&Date&currTime&=&new&Date();&//&添加帐号的时间
22&&&&&&&&&SimpleDateFormat&formatter&=&new&SimpleDateFormat("yyyy-MM-dd");
23&&&&&&&&&String&time&=&new&String(formatter.format(currTime).getBytes(
24&&&&&&&&&&&&&&&&&"iso-8859-1"));&//&时间格式化
25&&&&&&&&&String&name&=&(String)&request.getParameter("name");
26&&&&&&&&&name&=&name.trim();&//&去除字符串首尾空格
27&&&&&&&&&String&pwd&=&(String)&request.getParameter("pwd");
28&&&&&&&&&pwd&=&pwd.trim();
29&&&&&&&&&boolean&Check&=&Manager.CheckForm(name,&pwd);&//&验证输入的帐号密码是否符合规则
30&&&&&&&&&System.out.println(Check);
31&&&&&&&&&if&(Check)&{
32&&&&&&&&&&&&&//&在写入数据库之前将密码转为MD5加密
33&&&&&&&&&&&&&try&{
34&&&&&&&&&&&&&&&&&//&-------生成MessageDigest对象MD-------
35&&&&&&&&&&&&&&&&&MessageDigest&MD&=&MessageDigest.getInstance("MD5");
36&&&&&&&&&&&&&&&&&//&--------传入要计算的字符---------------
37&&&&&&&&&&&&&&&&&MD.update(pwd.getBytes("UTF8"));
38&&&&&&&&&&&&&&&&&//&--------计算信息摘要----------------
39&&&&&&&&&&&&&&&&&byte[]&pwdMD5Byte&=&MD.digest();
40&&&&&&&&&&&&&&&&&pwd&=&new&String(pwdMD5Byte);
41&&&&&&&&&&&&&}&catch&(Exception&e)&{
42&&&&&&&&&&&&&&&&&e.printStackTrace();
43&&&&&&&&&&&&&}
44&&&&&&&&&&&&&boolean&tag&=&Manager.HasAccount(name);&//&查看数据库里有没相同的用户名记录
45&&&&&&&&&&&&&if&(tag)&{
46&&&&&&&&&&&&&&&&&response.setCharacterEncoding("gbk");&//&解决中文显示问题
47&&&&&&&&&&&&&&&&&PrintWriter&out&=&response.getWriter();
48&&&&&&&&&&&&&&&&&out
49&&&&&&&&&&&&&&&&&&&&&&&&&.print("&script&language=javascript&alert('用户名已被占用');window.location.href='registe.jsp';&/script&");
50&&&&&&&&&&&&&}&else&{
51&&&&&&&&&&&&&&&&&//&new&一个Account对象,并将表单传过来的值填充它
52&&&&&&&&&&&&&&&&&Account&account&=&new&Account();
53&&&&&&&&&&&&&&&&&account.setName(request.getParameter("name"));
54&&&&&&&&&&&&&&&&&account.setPwd(pwd);
55&&&&&&&&&&&&&&&&&account.setAddtime(time);
56&&&&&&&&&&&&&&&&&//&执行持久化操作,保存到数据库
57&&&&&&&&&&&&&&&&&Manager&manager&=&new&Manager();
58&&&&&&&&&&&&&&&&&manager.addAccount(account);
59&&&&&&&&&&&&&&&&&//&执行输出操作(弹出成功的对话框)
60&&&&&&&&&&&&&&&&&response.setCharacterEncoding("gbk");&//&解决中文显示问题
61&&&&&&&&&&&&&&&&&HttpSession&session&=&request.getSession();
62&&&&&&&&&&&&&&&&&session.setAttribute("name",&request.getParameter("name"));
63&&&&&&&&&&&&&&&&&PrintWriter&out&=&response.getWriter();
64&&&&&&&&&&&&&&&&&out
65&&&&&&&&&&&&&&&&&&&&&&&&&.print("&script&language=javascript&alert('注册成功!');window.location.href='SucceedLogin.jsp';&/script&");
66&&&&&&&&&&&&&}
67&&&&&&&&&}&else&{
68&&&&&&&&&&&&&response.setCharacterEncoding("gbk");&//&解决中文显示问题
69&&&&&&&&&&&&&PrintWriter&out&=&response.getWriter();
70&&&&&&&&&&&&&out
71&&&&&&&&&&&&&&&&&&&&&.print("&script&language=javascript&alert('帐号或密码必须是四到八位的数字或字母!!');window.location.href='registe.jsp';&/script&");
72&&&&&&&&&}
75&&&&&public&void&doPost(HttpServletRequest&request,&HttpServletResponse&response)
76&&&&&&&&&&&&&throws&ServletException,&IOException&{
77&&&&&&&&&doGet(request,&response);
8。index.jsp,登录界面。
&%@&page&language="java"&import="java.util.*"&pageEncoding="gbk"%&
String&path&=&request.getContextPath();
String&basePath&=&request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
&!DOCTYPE&HTML&PUBLIC&"-//W3C//DTD&HTML&4.01&Transitional//EN"&
&&&&&base&href="&%=basePath%&"&
&&&&&title&My&JSP&'index.jsp'&starting&page&/title&
&&&&&meta&http-equiv="pragma"&content="no-cache"&
&&&&&meta&http-equiv="cache-control"&content="no-cache"&
&&&&&meta&http-equiv="expires"&content="0"&&&&&
&&&&&meta&http-equiv="keywords"&content="keyword1,keyword2,keyword3"&
&&&&&meta&http-equiv="description"&content="This&is&my&page"&
&&&&&link&rel="stylesheet"&type="text/css"&href="styles.css"&
&&&&&&&script&language="JavaScript"&
&&&&function&check()
&&&&&&&if(&form.name.value==""&)
&&&&&&&&&&&alert("\请输入您的用户名!!")
&&&&&&&&&&&&&&&form.name.focus();
&&&&&&&&&&&return&false;
&&&&&&&if(&form.pwd.value==""&&)
&&&&&&&&&&&{
&&&&&&&&&&&&&&&alert("\请输入您的登陆密码!!")
&&&&&&&&&&&&&&&&&&&form.pwd.focus();
&&&&&&&&&&&&&&&return&false;
&&&&return&true;
&&&&&/script&
&&&&&h1&用户登录&/h1&
&&&&&form&name="form"&id="form"&onSubmit="return&check()"&method="post"&action="LoginServlet"&
&&&&&&&&&p&帐&&号:&input&type="text"&name="name"&/&&/p&
&&&&&&&&&p&密&&码:&input&type="password"&name="pwd"&/&&/p&
&&&&&&&&&P&验证码:&input&type="text"&name="certCode"&/&&img&src="makeCertPic.jsp"&/&&/P&
&&&&&&&&&p&&input&type="submit"&name="submit"&value="登录"&
&&&&&&&&&&&&&input&type="button"&onClick="location='registe.jsp'"&value="注册"&class="btn"/&
&&&&&&&&&/p&
&&&&&/form&
9。registe.jsp,注册界面
&%@&page&language="java"&import="java.util.*"&pageEncoding="gbk"%&
String&path&=&request.getContextPath();
String&basePath&=&request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
&!DOCTYPE&HTML&PUBLIC&"-//W3C//DTD&HTML&4.01&Transitional//EN"&
&&&&&base&href="&%=basePath%&"&
&&&&&title&注册&/title&
&&&&&link&rel="stylesheet"&type="text/css"&href="styles.css"&
&&&&&script&language="JavaScript"&
&&&&function&check()
&&&&&&&if(&form.name.value==""&)
&&&&&&&&&&&alert("\请输入您的用户名!!")
&&&&&&&&&&&&&&&form.name.focus();
&&&&&&&&&&&return&false;
&&&&&&&if(&form.pwd.value==""&&)
&&&&&&&&&&&{
&&&&&&&&&&&&&&&alert("\请输入您的登陆密码!!")
&&&&&&&&&&&&&&&&&&&form.pwd.focus();
&&&&&&&&&&&&&&&return&false;
&&&&&&&if(form.repwd.value=="")
&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&alert("\请输入您的第二次密码!!")
&&&&&&&&&&&&&&&&&&&&&&&form.repwd.focus();
&&&&&&&&&&&&&&&&&&&return&false;
&&&&&&&&&&&}
&&&&&&&if(form.pwd.value!=form.repwd.value)
&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&alert("\两次输入的密码不一致!!")
&&&&&&&&&&&&&&&&&&&&&&&form.repwd.focus();
&&&&&&&&&&&&&&&&&&&return&false;
&&&&return&true;
&&&&&/script&
&&&&&h1&注册&/h1&
&&&&form&name="form"&id="form"&onSubmit="return&check()"&method="post"&action="RegisteServlet"&
&&&&&p&帐号:&input&name="name"&type="text"&/&&/p&
&&&&&P&密码:&input&name="pwd"&type="password"&/&&/P&
&&&&&p&再次输入密码:&input&name="repwd"&type="password"&&/p&
&&&&&p&&input&type="submit"&value="注册"&/&&&input&type="reset"&value="重置"&/&&/p&
&&&&/form&
10。makeCertpic.jsp 验证码图片的
&%@page&contentType="image/jpeg"&pageEncoding="gbk"&%&
&jsp:useBean&id="image"&scope="page"&class="com.he.bean.makeCertPic"&/&
&&&&String&str&=&image.getCertPic(0,0,response.getOutputStream());
&&&&//&避免getWriter()和responsegetOutputStream()冲突而产生异常
&&&&out.clear();
&&&&out&=&pageContext.pushBody();
&&&&//&CREATE&SESSION
&&&&session.setAttribute("certCode",&str);&
11.SucceedLogin.jsp 登录成功的页面
&1&&%@&page&language="java"&import="java.util.*"&pageEncoding="gbk"%&
&2&&%@&include&file="CheckLogin.jsp"&%&
&4&String&path&=&request.getContextPath();
&5&String&basePath&=&request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
&8&&!DOCTYPE&HTML&PUBLIC&"-//W3C//DTD&HTML&4.01&Transitional//EN"&
10&&&&head&
11&&&&&&base&href="&%=basePath%&"&
13&&&&&&title&SucceedLogin&/title&
15&&&&&&meta&http-equiv="pragma"&content="no-cache"&
16&&&&&&meta&http-equiv="cache-control"&content="no-cache"&
17&&&&&&meta&http-equiv="expires"&content="0"&&&&&
18&&&&&&meta&http-equiv="keywords"&content="keyword1,keyword2,keyword3"&
19&&&&&&meta&http-equiv="description"&content="This&is&my&page"&
20&&&&&&!--
21&&&&&&link&rel="stylesheet"&type="text/css"&href="styles.css"&
22&&&&&--&
24&&&&/head&
26&&&&body&
27&&&&&&&h1&欢迎您&/h1&
28&&&&&${sessionScope.name}
29&&&&/body&
30&&/html&
12。CheckLogin.jsp 进行未登录就进入登录成功的界面的验证
3&&&&&if&(session.getAttribute("name")&==&null
4&&&&&&&&&&&&&||&session.getAttribute("name").toString().length()&==&0)&{
5&&&&&&&&&response.sendRedirect(request.getContextPath()&+&"/error.jsp");
13.web.xml文件
&?xml&version="1.0"&encoding="UTF-8"?&
&web-app&version="2.4"&
&&&&xmlns="/xml/ns/j2ee"&
&&&&xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&
&&&&xsi:schemaLocation="/xml/ns/j2ee&
&&&&/xml/ns/j2ee/web-app_2_4.xsd"&
&&&servlet&
&&&&&servlet-name&RegisteServlet&/servlet-name&
&&&&&servlet-class&com.he.servlet.RegisteServlet&/servlet-class&
&&&/servlet&
&&&servlet&
&&&&&servlet-name&LoginServlet&/servlet-name&
&&&&&servlet-class&com.he.servlet.LoginServlet&/servlet-class&
&&&/servlet&
&&&servlet-mapping&
&&&&&servlet-name&RegisteServlet&/servlet-name&
&&&&&url-pattern&/RegisteServlet&/url-pattern&
&&&/servlet-mapping&
&&&servlet-mapping&
&&&&&servlet-name&LoginServlet&/servlet-name&
&&&&&url-pattern&/LoginServlet&/url-pattern&
&&&/servlet-mapping&
&&&welcome-file-list&
&&&&&welcome-file&index.jsp&/welcome-file&
&&&/welcome-file-list&
&/web-app&
14.到此,我的注册登录系统基本完成了。新人作品,希望大家批评指正。
此文为原创,如有转载请注明出处。如有错误,请大家批评指正,谢谢!
好,写得非常好,非常不错!支持一下!
支持支持~~~~~~~~~~~~~~~~~~~~~~~~~~~~~··
完整源码能发我一份吗? 谢啦~
zhaowyvern&#
NB NAFFY~~~~NB NAFFY~~~~NB NAFFY~~~~NB NAFFY~~~~
问一下,我用了楼主的登录系统,怎么说表名附近有语法错误呢?还说rs......有空指针异常
珍惜大学的最后一个暑假,good good study,day day up!
我喜欢的LINK
积分与排名
阅读排行榜
评论排行榜

我要回帖

更多关于 登陆qq空间参数非法 的文章

 

随机推荐