宝哥软件园

jsp基于可扩展置标语言实现用户登录与注册的实例解析(附源码)

编辑:宝哥软件园 来源:互联网 时间:2021-09-22

简单的基于可扩展标记语言做数据库的登录与注册主题介绍:1.xml的读取和存储,主要是用到dom4j技术,(网络中的文件存储路径采用类加载器)文件的读取和存储,写了一个工厂类

公共类DocumentFactory {私有静态Document dom=null//需要共享一个多姆,所以需要设置为静态私有静态字符串名称=' user.xml私有静态字符串文件名;//写一个静态块实现对数字正射影像图树的读取静态{//dom4j技术SAXReader read=new SAXReader();文件名=文档工厂。上课。getclass loader().getResource(名称)。getPath();//采用类加载器进行读取文件尝试{ dom=read.read(文件名);} catch(文档例外e){ span style=' font-family : Arial,Helvetica,无衬线;e . print stack trace();}}/span //主要获得和存储的两个函数(采用单例模式)(必须共享一个数字正射影像图数)公共静态Document getDocument(){ //获得可扩展标记语言中的数字正射影像图树返回dom} //注册之后需要保存公共静态void Save(){ XMlwriter wr;尝试{ wr=new XMLWriter(新文件输出流(文件名));}catch(异常E1){ 0抛出新的RuntimeException(“”存储文件时读文件失败');}尝试{ wr。write(DOM);} catch(IOexception e){ 0抛出新的RuntimeException(“”写文件失败e . getmessage());}最后{尝试{ if(wr!=null){ wr。close();} } catch(IOexception e){ 0抛出新的RuntimeException(“”关流失败e . getmessage());}}} } 2.前台的技术:基本上就是界面的搭建和将数据传到后台进行处理。以及部分的必填选项要求。两个页面的代码://登录

正文形式操作="登录"方法="发布"用户名:输入类型='text' name='name' /br/密码:输入类型=“文本”名称='pwd' /br/验证码:输入类型=' text ' name=' CheckCode ' img src=' http :/LOGING/immg ' id=' imgid ' a href=' JAVAScript : flush()'看不清a/需要重写一个射流研究…进行刷新br/输入类型='提交'值='登录/input type='reset'value='重置/a href=' JSP/Reg。“JSP”注册/a /form /登录后台的处理

公共类注册扩展了httpersvlet { public void DoGet(httpersvletrequest请求,HttpServletResponse响应)抛出ServletException,IOException { doPost(请求,响应);} public void doPost(HttpServletrequest请求,HttpServletResponse响应)引发ServletException,IOException { request。setcharacter编码(' utf-8 ');//设置utf-8的编码格式去接收回应。setcontenttype(' text/html;字符集=UTF-8 ';//span style=' color : # ff 0000;'设置页面显示方式,这个设置必须要在获得输出流之前设置,不然设置都没有用,照样会出现乱码/span PrintWriter out=响应。getwriter();out.println('!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ');出去。println(' HTML ');出去。println(' HEADTILEA Servlet/TItle ');出去。println(' meta http-equiv=' content-type ' content=' text/html;charset=UTF-8 '/HEAD ');出去。println(' BOdy ');字符串名称=请求。getParameter(' name ');字符串pwd=请求。getParameter(' pwd ');字符串检查=请求。GetParameter(' CheckCode ');//从界面获得验证码输入的值ImgDemo id=new ImgDemo();字符串字符串=id。GetStr();if(!check.equals(str)){ out.println('登录失败,验证码不正确!');//要是验证码不符合,直接返回登录界面out . print(a href=' index . JSP ')返回登录/a ');返回;} //System.out.println('11 '检查);//System.out.println('22 '字符串);//登录前获得所有的对象文档DOM=文档工厂。getdocument();布尔标志=假;元素根=DOM。getrootElement();IteratorElement it=root。element iterator();而(它。hasnext()){ Element ele=it。next();字符串NameC=ele。AttributeValue(' name ');字符串pwdC=ele。attribute value(' pwd ');if(name.trim().等于(NameC)PwDC。equals(PwDC)){ flag=true;打破;} } if(flag){ out。print(' font color=' red ' size=' 8px '恭喜您,登陆成功!/font ');out.println('a href='index.jsp ')返回登录/a ');}else{ out.print('用户名和密码不匹配。登录失败。');out.println('a href='index.jsp ')返回登录/a ');}出去。println('/BOdy ');出去。println('/HTML ');出去。flush();出去。close();} } //注册

正文动作='reg '方法='post '用户名:输入类型=' text ' name=' name ' on bulr=' check()' id=' name '/span id=' span id '/span br/密码:输入类型=' text ' name=' pwd ' id=' pwd ' on bulr=' check 1()'/span id=' span D1 '/span br/确认密码:输入类型=' text ' name=' pwd 2 ' id=' pwd 2 ' on bulr=' check 2()'/span id=' span D2 '/span br/输入类型='submit'value='注册/input type='reset'value='重置//表单/正文/注册的后台处理

public void doPost(HttpServletrequest请求,HttpServletResponse响应)引发ServletException,IOException { response。setcontenttype(' text/html;charset=utf-8 ');//span style=' color : # ff 0000;'必须要设置在获得打印之前,都则设置无效/span PrintWriter out=响应。getwriter();out.println('!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ');出去。println(' HTML ');出去。println(' HEAD TITLE a Servlet/TITLE/HEAD ');出去。println(' BOdy ');布尔标志=假;请求。setcharacter encoding(' utf-8 ');字符串名称=请求。getParameter(' name ');字符串pwd=请求。getParameter(' pwd ');文档DOM=文档工厂。getdocument();元素根=DOM。getrootElement();IteratorElement it=root。element iterator();而(它。hasnext()){ Element ele=it。next();字符串NaMEr=ele。AttributeValue(' name ');//这里传过来的值可能是零.所以我们必须在前台要预防一下,当然在这里也要考虑一下字符串pwdR=ele。attribute value(' pwd ');if(名称。等于(Namer)pwd。equals(pwdR)){ flag=true;打破;} } if(flag){ out.print('此用户已注册!');出去。打印(' a href=' JSP/Reg。“JSP”返回注册/a ');} else { Element ele=root。add element(' user ');ele.addAttribute('name ',name);ele.addAttribute('pwd ',pwd);文档工厂.save();out.print('注册成功!');out . print(a href=' index . JSP ')返回登录/a ');}出去。println('/BOdy ');出去。println('/HTML ');} 3.验证码技术:同样的从后台获取图片,以及登录时候进行匹配效果图:

1,首先是验证验证码的

2.密码匹配

3,用户注册

4.密码正确

5,查看user.xml文件

整个登录和注册的源代码下载地址:jsp基于可扩展置标语言实现用户登录与注册的实例解析

以上就是本文的全部内容,希望对大家的学习有所帮助。

更多资讯
游戏推荐
更多+