您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 实验七数据库和web编程
实验七数据库和web编程一.实验要求:1.编写两个servlet,分别实现登入和注册功能;2.将用户注册的信息保存在数据库当中,在登录的时候进行验证;3.编写简单的网页去验证相应的功能;4.用正则表达式校验字符串的格式是否合格(有时间做)。二.实验步骤:1.=11774网站下载对应版本型号的JDBC驱动;2.安装驱动;2.下载Tomcat:打开网页配置JDBC;3.安装Tomcat,如果Tomcat服务自动运行,打开浏览器,输入测试是否安装成功;4.配置Eclipse;5.在eclipse中点击菜单“File-New-Other…”打开新建项目对话框;在项目类型列表中找到“Web”并展开,选中“DynamicWebProject”,并点击“Next”继续;6.输入项目名称:work8,由于Web项目必须运行在服务器上,所以必须配置运行的服务器环境,在“Targetruntime”后单击“NewRuntime”按钮,打开新建运行环境对话框;7.在对话框的服务器列表中选择“ApacheTomcatv8.0”,然后单击“Next”,在“TomcatServer”对话框填入Tomcat的安装目录;8.单击“Finish”返回新建项目对话框,再点击“Finish”完成新建项目;9.在项目名称上单击右键,在右键菜单中选择“New-Servlet”,打开新建Servlet对话框;10.填上包:checklogin和类名ls:,单击“Finish”完成;11.eclipse会自动生成javax.servlet.http.HttpServlet的子类,并重写doGet和doPost两个方法,在doGet方法中写入下列代码;12.依次模仿上面建立另外一个类:rg;13.在WebContent下建立两个网站:login.html和redistered.html;14.在数据库建立一个数据库:useinfo,里面建立一张表:ident,包含姓名(name)、密码(pword)、年龄(age);15.login.html网页里面建立一个登陆的界面,可以链接到注册页面(redistered.html),提交表单时包含姓名和密码,提交到ls;16.redistered.html网页里面建立一个注册的界面,可以链接到注册页面(login.html),提交表单时包含姓名、密码和年龄,提交到rg;17.rg.java的doGet()方法里面,编码、读取数据、打印提交数据、连接数据库、将数据写入数据库;18.ls.java的doGet()方法里面,编码、读取数据、打印提交数据、连接数据库、利用用户名做SQL语句的where条件获得表里的资源数据与密码做对比判断;19.运行代码,查看结果并分析。三.源代码:login.html1.两个文本输入框,用户名、密码;2.提交按钮,提交到ls进行数据处理;3.快速注册,方便用户在没有账户的情况下跳转注册页面;redistered.html1.两个文本输入框,用户名、密码;2.提交按钮,提交到ls进行数据处理;3.快速注册,方便用户在没有账户的情况下跳转注册页面;!DOCTYPEhtmlhtmlheadmetacharset=UTF-8title登录页面/title/headbodyformaction=lsmethod=get用户名:inputtype=textname=userName/br/密 码:inputtype=textname=password/br/inputtype=submitvalue=登录ahref=redistered.html快速注册》/a/form/body/html!DOCTYPEhtmlhtmlheadmetacharset=UTF-8title登录页面/title/headbodyformaction=lsmethod=getls.java1.注明html格式和UTF-8编码;2.把网页提交过来数据取出来,赋予给新的变量初始化;3.打印出来方便用户查看自己提交的信息是否会有误;4.连接自己的定义了权限的数据库;5.以用户名作为数据库查询的条件;6.把取得信息打印出来,方便判断程序是否存在Bug;7.对比提交的密码和数据库中存的是否完全相等;用户名:inputtype=textname=userName/br/密 码:inputtype=textname=password/br/inputtype=submitvalue=登录ahref=redistered.html快速注册》/a/form/body/htmlpackagechecklogin;importjava.beans.Statement;importjava.io.IOException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;@WebServlet(/ls)publicclasslsextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;publicls(){super();}protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType(text/html;charset=UTF-8;pageEncoding=UTF-8);response.setCharacterEncoding(UTF-8);Stringuser=request.getParameter(userName);Stringpd=request.getParameter(password);response.getWriter().println(用户名:+user+br/);response.getWriter().println(密码:+pd+br/);Stringna;StringdbURL=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=useinfo;//连接字符串StringuserName=sa;StringuserPwd=magic;try{Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);ConnectiondbConn=DriverManager.getConnection(dbURL,userName,userPwd);java.sql.Statementstmt=dbConn.createStatement();Stringsql=selecttop1name,pword,agefromidentwherename='+user+';ResultSetrs=stmt.executeQuery(sql);rs.next();na=rs.getString(name);Stringpw=rs.getString(pword);System.out.print(na);System.out.println(pw);if(pd.equals(pw)){System.out.print(登录成功);response.getWriter().println(登录成功);}else{response.getWriter().println(登录失败);}}catch(ClassNotFoundException|SQLExceptione){e.printStackTrace();System.out.print(连接失败);}}protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//TODOAuto-generatedmethodstubdoGet(request,response);}}rg.java1.说明html格式,编码UTF-8;2.把网页提交过来的数据作为这个处理时新定义变量的初始化的数值,整型的话将其强行取整,保持网页里数据的原汁原味;3.用自己的权限连接数据库,并找到存放于本网站有关信息的表;4.将数据写入到数据库;packagechecklogin;importjava.io.IOException;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;importjava.sql.Statement;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;@WebServlet(/rg)publicclassrgextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;publicrg(){super();}protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType(text/html;charset=UTF-8);Stringuser=request.getParameter(userName);Stringpd=request.getParameter(password);intag=Integer.parseInt(request.getParameter(age));response.getWriter().println(用户名:+user+br/);response.getWriter().println(密码:+pd+br/);response.getWriter().println(年龄:+ag+br/);StringdbURL=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=useinfo;//连接字符串StringuserName=sa;StringuserPwd=magic
本文标题:实验七数据库和web编程
链接地址:https://www.777doc.com/doc-2458035 .html