实验七 数据库和 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.快速注册,方便用户在没有账户的情况下跳转注册页面;
1.两个文本输入框,用户名、密码; 2.提交按钮,提交到 ls 进行数据处理;
3.快速注册,方便用户在没有账户的情况下跳转注册页面;
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);
正在阅读:
实验七 数据库和 web 编程10-07
八学分细则07-06
比较政治制度重点06-23
SQL_2008安装教程(完整版)07-18
2015室内定位市场分析报告02-28
六年级英语阅读理解100篇(含答案)06-11
整改报告范文五篇07-31
算法复习题-201512-04
3.1不等关系与不等式(1)导学案05-17
刘易阳经典语录经典台词03-03
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 编程
- 实验
- 数据库
- web
- 2011淘汰落后产能目录 - 图文
- 经济法概论案例分析题及答案
- 人教版五年级上册句子专项练习
- 1-03、旋挖桩施工技术交底记录(干作业) - 图文
- 上海市十四校2017届高三第二次(3月)联考英语试卷 - 图文
- 2012版七年级英语上册常考易错题点拨60例
- 公共关系实训题集锦
- 视觉传达设计中的图形语言
- 新世纪大学英语系列教材视听说教程第二版听力答案
- 浅谈建筑结构的检测及加固
- 福清市财政性资金项目工程造价增加申请表(一)
- 细胞生物学名词解释 - 图文
- 东南大学工科数分第四章习题
- 劳动关系协调员案例题库
- 党支部党员发展对象推荐专题会主持词
- 中科院地理所自然地理博士入学考试题
- 如何在美术教学中进行德育渗透
- C语言2级习题
- 作文指导(一)―怎样使语言更具体生动(精)
- 蓬溪县经济和信息化局