基本语法概括:<%@page>,<%@include>,<jsp:include>,<jsp:forward>
加上数据库操作,可以开发动态web了。
数据库脚本:
/*======================= 使用MLDN数据库 =======================*/ USE mldn ; /*======================= 删除user数据表 =======================*/ DROP TABLE IF EXISTS user ; /*======================= 创建user数据表 =======================*/ CREATE TABLE user( userid VARCHAR(30) PRIMARY KEY , name VARCHAR(30) NOT NULL , password VARCHAR(32) NOT NULL ) ; /*======================= 插入测试数据 =======================*/ INSERT INTO user (userid,name,password) VALUES ('admin','administrator','admin') ;
login.htm:
<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</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>www.mldnjava.cn,MLDN高端Java培训</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 = "linda0213" ; %> <% 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_success.jsp:
<%@page contentType="text/html" pageEncoding="GBK"%> <html> <head><title>www.mldnjava.cn,MLDN高端Java培训</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>www.mldnjava.cn,MLDN高端Java培训</title></head> <body> <center> <h1>登陆操作</h1> <h2>登陆失败,请重新<a href="login.htm">登陆</a>!</h2> </center> </body> </html>