实验七 数据库和 web 编程

更新时间:2023-10-07 12:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验七 数据库和 web 编程

一.实验要求:

1.编写两个 servlet ,分别实现登入和注册功能;

2.将用户注册的信息保存在数据库当中,在登录的时候进行验证; 3.编写简单的网页去验证相应的功能;

4.用正则表达式校验字符串的格式是否合格(有时间做)。

二.实验步骤:

1.http://www.microsoft.com/zh-CN/download/details.aspx?id=11774 网站下载对应版本型号的JDBC驱动;

2.安装驱动;

2.下载Tomcat:打开网页http://tomcat.apache.org/download-80.cgi 3.配置JDBC;

3.安装Tomcat,如果 Tomcat 服务自动运行,打开浏览器,输入 http://127.0.0.1:8080测试是否安装成功;

4.配置Eclipse;

5.在eclipse 中点击菜单“File->New->Other?”打开新建项目对话框;在项目类型列表中找到“ Web”并展开,选中“Dynamic Web Project”,并点击“Next”继续;

6.输入项目名称:work8 ,由于 Web 项目必须运行在服务器上,所以必须配置运行的服务器环境,在“Target runtime”后单击“New Runtime”按钮,打开新建运行环境对话框;

7.在对话框的服务器列表中选择“Apache Tomcat v8.0”,然后单击“Next”,在“Tomcat Server”对话框填入 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.html

1.两个文本输入框,用户名、密码; 2.提交按钮,提交到 ls 进行数据处理;

3.快速注册,方便用户在没有账户的情况下跳转注册页面;

登录页面 redistered.html

1.两个文本输入框,用户名、密码; 2.提交按钮,提交到 ls 进行数据处理;

3.快速注册,方便用户在没有账户的情况下跳转注册页面;

登录页面 ls.java

1.注明html格式和UTF-8编码;

2.把网页提交过来数据取出来,赋予给新的变量初始化; 3.打印出来方便用户查看自己提交的信息是否会有误; 4.连接自己的定义了权限的数据库; 5.以用户名作为数据库查询的条件;

6.把取得信息打印出来,方便判断程序是否存在Bug; 7.对比提交的密码和数据库中存的是否完全相等;

package checklogin; importjava.beans.Statement; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(\) publicclass ls extends HttpServlet { privatestaticfinallongserialVersionUID = 1L; public ls() { super(); } protectedvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(\ding=UTF-8\); response.setCharacterEncoding(\); String user = request.getParameter(\); String pd = request.getParameter(\); response.getWriter().println(\用户名:\ + user+ \); response.getWriter().println(\密码:\ + pd + \); String na; String dbURL = \DatabaseName=useinfo\; // 连接字符串 String userName = \; String userPwd = \; try { Class.forName(\er\); Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd); java.sql.Statement stmt = dbConn.createStatement(); String sql=\top 1 name,pword,age from ident where name='\+user+\; ResultSet rs=stmt.executeQuery(sql); rs.next(); na = rs.getString(\); String pw = rs.getString(\); System.out.print(na); System.out.println(pw); if(pd.equals(pw)){ System.out.print(\登录成功\); response.getWriter().println(\登录成功\); } else{ response.getWriter().println(\登录失败\); } } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); System.out.print(\连接失败\); } } protectedvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } } rg.java

1.说明html格式,编码UTF-8;

2.把网页提交过来的数据作为这个处理时新定义变量的初始化的数值,整型的话将其强行取整,保持网页里数据的原汁原味;

3.用自己的权限连接数据库,并找到存放于本网站有关信息的表; 4.将数据写入到数据库;

package checklogin; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(\) publicclass rg extends HttpServlet { privatestaticfinallongserialVersionUID = 1L; public rg() { super(); } protectedvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(\); String user = request.getParameter(\); String pd = request.getParameter(\); intag =Integer.parseInt(request.getParameter(\)); response.getWriter().println(\用户名:\ + user + \); response.getWriter().println(\密码:\ + pd + \); response.getWriter().println(\年龄:\ + ag + \); String dbURL = \ DatabaseName=useinfo\; // 连接字符串 String userName = \; String userPwd = \; try { Class.forName(\er\); Connection dbConn = DriverManager.getConnection(dbURL, userName, userPwd);

本文来源:https://www.bwwdw.com/article/x93d.html

Top