本次将不使用 ide,目录结构如下:
我们需要编写 4 个页面,分别是:登陆窗口页面,信息校验页面,登陆成功页面,登陆失败页面
登陆窗口页面:
<html>
<head>
<title>登录测试title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
head>
<body>
<center>
<h1>欢迎登录
<h1>
<hr>
<form action="login_check.jsp" method="post">
<table border="1">
<tr>
<td colspan="2">
用户登录
td>
tr>
<tr>
<td>
用户名:
td>
<td><input type="text" name="username">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>
信息校验页面:
<%@page contentType="text/html"%>
<%@page pageEncoding="GBK"%>
<%@page import="java.sql.*"%>
html>
<html>
<head>
<title>登录验证title>
<body>
<center>
<hl>登录操作hl>
<hr>
<%!//定义若干个数据库常量
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
public static final String DBURL = "jdbc:mysql://127.0.0.1:3306/test";
public static final String DBUSER="root";
public static final String DBPASS="123456";
%>
<%
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 username FROM user WHERE username=? AND password=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,request.getParameter("username"));
pstmt.setString(2,request.getParameter("password"));
rs = pstmt.executeQuery(); // 查询
if(rs.next()){ //如杲有数据,则可以执行
flag = true ; //表示登陆成功
name = rs.getString(1);
out.println("test");
}
%>
<%
}catch(Exception e) {
e.printStackTrace();
}
finally{
try{
rs.close();
pstmt.close();
conn.close();
} catch(Exception e){}
}
%>
<%
if(flag)
{ // 登陆成功
out.println("success");
%>
<jsp:forward page="login_success.jsp">
<jsp:param name="uname" value="<%=name%>"/>
jsp:forward>
<%
} else { //登陆失败
%>
<jsp:forward page="login_fail.html"/>
<%
}
%>
center>
body>
html>
登陆成功页面:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录成功,欢迎!</title>
</head>
<body>
<center>
<hl>登录操作</hl>
<h2>登录成功</h2>
<h2>欢迎<font color="red"><%=request.getParameter("uname")%></font>光临! </h2>
</center>
</body>
</html>
登陆失败页面:
<%@page contentType="text/html"%>
<%@page pageEncoding="GBK"%>
<html>
<head>
<meta>
<title>登录失败</title>
</head>
<body>
<center>
<h1>登录操作</h1>
<h2>登录失败,请重新<a href="login.html">登录</a></h2>
</center>
</body>
</html>
数据库使用 mysql,示例的 sql 语句,创建数据库:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`userid` varchar(30) NOT NULL DEFAULT '',
`username` varchar(30) DEFAULT NULL,
`password` varchar(20) DEFAULT NULL,
PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'test', '123456');
INSERT INTO `user` VALUES ('2', 'admin', '123456');
现在下载 tomcat 解压缩版:拷贝\webapps\ROOT 下的
到当前编写的网页目录,这一步是复制原始的 web.xml 文件过来,也可以自己手动编写。
在 tomcat/conf/server.xml 中添加配置:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!--主要是添加这一个-->
<Context path="/login" docBase="D:\test"/>
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
在 tomcat/lib 下添加 JDBC mysql 连接驱动。
完成,现在就启动 tomcat 容器!
访问项目路径:http://127.0.0.1:8080/login/login.html
输入用户名和密码:
成功登陆!
本文由 xynling 原创,转载请声明转载自 ynlflixin 的个人博客:http://abc.airenti.xin
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于