01_05 JSP基础语法之实战(数据库验证登录页面)

用户登录程序实现(JSP+JDBC)

   用户登录操作必然都保存在数据表中,用户输入用户名和密码,进行验证。若输入正确,则登录成功,若不正确则登录失败。

一、数据表创建

netstart mysql     启动mysql服务

mysql–uroot –pmysqladmin    进入mysql

showdatabases;       查看数据库

/*=======使用MLDN数据库=========*/

USEmldn;

/*=======删除user数据表=========*/

DROPTABLE IF EXISTS user;

/*=======创建user数据表=========*/

CREATETABLE user(

userid     VARCHAR(30)       PRIMARY KEY,

name       VARCHAR(30)       NOT NULL,

password   VARCHAR(20)       NOT NULL

);

/*=======插入测试数据=========*/

INSERTINTO user(userid, name, password) VALUES("admin", "admin","admin");

二、页面设计

Login.htm  提供用户登录表单

<html>
<head><title>login</title></head>
<body>
<center>
<h1>登陆操作</h1>
<hr>
	<form action="login_check.jsp" method="post">
		<table border="1">
			<tr>
				<td colspan="2">
					用户登陆
				</td>
			</tr>
			<tr>
				<td>登陆ID:</td>
				<td><input type="text" name="id"></td>
			</tr>
			<tr>
				<td>登陆密码:</td>
				<td><input type="password" name="password"></td>
			</tr>
			<tr>
				<td colspan="2">
					<input type="submit" value="登陆">
					<input type="reset" value="重置">
				</td>
			</tr>
		</table>
	</form>
</center>
</body>
</html>

Login_check.jsp   登录检查页面,用户名及密码正确则跳转成功页面,否则登录失败页面。

<%@page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
<html>
<head><title>login</title></head>
<body>
<center>
<h1>登陆操作</h1>
<hr>
<%!	// 定义若干个数据库的连接常量
	public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
	public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
	public static final String DBUSER = "root" ;
	public static final String DBPASS = "mysqladmin" ;
%>
<%
	Connection conn = null ;		// 数据库连接
	PreparedStatement pstmt = null ;	// 数据库预处理操作
	ResultSet rs = null ;		// 查询要处理结果集
	boolean flag = false ;	// 保存标记
	String name = null ;	// 保存真实姓名
%>
<%
try{
%>
<%
	Class.forName(DBDRIVER) ;
	conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
	String sql = "SELECT name FROM user WHERE userid=? AND password=?" ;
	pstmt = conn.prepareStatement(sql) ;
	pstmt.setString(1,request.getParameter("id")) ;
	pstmt.setString(2,request.getParameter("password")) ;
	rs = pstmt.executeQuery() ;	// 查询
	if(rs.next()){	// 如果有数据,则可以执行
		flag = true ;	//  表示登陆成功
		name = rs.getString(1) ;
	}
%>
<%
}catch(Exception e)	{
	e.printStackTrace() ;
}
finally{
	try{
		rs.close() ;
		pstmt.close() ;
		conn.close() ;
	} catch(Exception e){}
}
%>
<%
	if(flag){	// 登陆成功
%>
		<jsp:forward page="login_success.jsp">
			<jsp:param name="uname" value="<%=name%>"/>
		</jsp:forward>
<%
	} else {		// 登陆失败
%>
		<jsp:forward page="login_failure.htm"/>
<%
	}
%>
</center>
</body>
</html>

Login_sucess.jsp  成功页面

<%@page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>login</title></head>
<body>
<center>
<h1>登陆操作</h1>
<h2>登陆成功</h2>
<h2>欢迎<font color="red"><%=request.getParameter("uname")%></font>光临!</h2>
</center>
</body>
</html>

Login_failure.htm 失败页面

<html>
<head><title>login</title></head>
<body>
<center>
<h1>登陆操作</h1>
<h2>登陆失败,请重新<a href="login.htm">登陆</a>!</h2>
</center>
</body>
</html>

以上内容参考JAVAWEB开发实战经典(名师讲坛)

时间: 2024-08-10 18:05:44

01_05 JSP基础语法之实战(数据库验证登录页面)的相关文章

01_01 JSP基础语法

JSP基础语法 一.注释 1.显式注释,客户端可见 <!--注释--> 2.隐式注释,客户端不可见 //注释单行 /*注释多行*/ <%--JSP注释--> 二.Scriptlet 1.第一种 Scriptlet: <%%> 可以用于定义局部变量.编写语句等 <%     int x = 10;     String info ="www.126.com";     out.println("<h2>x="+x+

【MOOC笔记】JSP基础语法

JSP 全名:Java Server Pages.java服务器端页面. 本质上是一个简化的Servlet设计,实现了在java中使用HTML标签. JSP是一种动态网站开发标准,与Servlet一样,在服务器端执行. 常用动态网站开发技术: JSP:JAVA平台,安全性高,适合开发大型.企业级WEB应用程序. ASP.NET:基于可视化组件开发,安全性.跨平台性差,最好用微软配套系统. PHP:适合中小型企业WEB应用开发,黄金开发组合:Linux+Apache+MySQL+PHP JSP基础

JSP基础语法(章节摘要)

1,在JSP中分为3种Script,<%!%>,<%%>和<%=%>. 2,在开发中尽量使用表达式输出(<%=%>)来代替out.println()语法. 3,使用page指令可以设置一个页面的操作属性,如MIME类型,显示编码,导包操作等. 4,JSP中德包含语句分为两种,一种是静态包含,另一种是动态包含,静态包含属于先包含后处理,而动态包含属于先处理后包含. 5,使用<jsp:forward>可以执行跳转操作,跳转后的地址栏不改变,所以是服务

JSP学习(一)JSP基础语法

JSP基础语法 1.JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素. JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2.JSP表达式 JSP脚本表达式(expression)用于将程序数据输出到客户端     语法:<%= 变量或表达式 %>     举

Jsp基础语法(由简入杂)

JSP基础语法 一,JSP简介 Jsp是一个简化的Servlet设计,是在服务器端执行,他实现了再Java中使用HTML标签. Jsp是一种动态网页技术标准也是JAVAEE的标准 二,常见动态网站开发技术对比 1. Jsp:Java平台,跨平台性和安全性高,适合开发大型的,企业级的Web应用程序. Hadoop:Java开发框架 适合的开发项目,例如:电子银行,网上证券交易所,中国移动网上营业厅,网上订票系统网站 2. Asp.net:.Net平台,简单易学(组件开发--'托拉拽').但是安全性

11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处理页面的,处理页面只是操作数据库并且返回值,页面都是ajax处理的. ajax的写法: test.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR

第一章JSP基础语法

jsp页面元素构成 jsp页面组成部分有:指令,注释,静态内容,表达式,小脚本,声明. jsp指令 page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令 include指令:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句 taglib指令:使用标签库定义新的自定义标签,在jsp页面中启动自定行为 page指令语法 <%@page 属性1="属性值" 属性2="属性值1,属性值2" 属性n="属性值n"

Java遇见HTML——JSP篇之JSP基础语法

一.JSP简介 JSP全名为Java Server Pages,Java服务器端页面,其根本是一个简化的Servlet设计,它实现了在Java中使用HTML标签.Jsp是一种动态网页技术标准,是在服务器端执行的. 二.常用动态网站开发技术 常见动态网站开发技术对比: JavaEE比较适用于以下开发: 三.JSP页面元素构成 3.1.JSP指令 JSP的三大指令元素: page指令语法: 如: 注意:pageEncoding是jsp文件本身的编码,contType的charset是指服务器发给客户

Java Web学习(7):JSP基础语法

一个JSP页面可以被分为以下几部份: 1)静态数据,如HTML: 2)JSP指令,如include指令: 3)JSP脚本元素和变量: 4)JSP动作: 5)用户自定义标签: 一静态数据 静态数据在输入文件中的内容和输出给HTTP响应的内容完全一致.此时,该JSP输入文件会是一个没有内嵌 Java或动作的HTML页面.而且,客户端每次请求都会得到相同的响应内容. 这个静态数据的本质就是HTML文档. 二JSP指令 JSP指令控制JSP编译器如何去生成servlet,以下是可用的指令: (1)pag