您的位置:首页 > 理论基础 > 计算机网络

jsp连接oracle数据库并实现简单登录功能,来自网络,部分修改。(亚信联创实习)

2013-05-30 20:41 771 查看
共三个页面:login.jsp、loginconf.jsp、loginsucess.jsp

用户首先打开login.jsp输入用户名及密码,此时login.jsp会将输入的用户名及密码提交到loginconf.jsp

loginconf.jsp通过初始化连接数据库,对用户名及密码进行判断。如果正确则跳转到loginsucess.jsp

否则回到login.jsp页面并提示用户,用户名或者密码错误!

如果用户直接打开。loginconf.jsp或者loginsucess.jsp则会通过判断session来确定用户是否登录成功了,防止黑客在没有登录的情况下就如管理界面。

如果未登录则自动跳转到登录界面!

login.jsp 代码如下:

<%@ page contentType="text/html;charset=gb2312"%>

<html>

<head>

<center>

<titl><h1>JDBC+JSP 登录程序</h1></title>

<hr>

<br>

<form action="loginconf.jsp" method="post">

<table width="1">

<tr>

<td colspan="2">用户登录</td>

</tr>

<tr>

<td >用户名:</td>

<td><input type="text" name="id"></td>

</tr>

<tr>

<td>密  码:</td>

<td><input type="password" name="password"></td>

</tr>

<tr>

<td><input type="submit" value="登录"></td>

<td><input type="reset" value="重置"></td>

</tr>

</table>

</form>

<%

// 判断是否有错误信息,如果有则打印

// 如果没有此段代码,则显示时会直接打印null

if(request.getAttribute("err")!=null)

{

%>

<h4><font color="red"><%=request.getAttribute("err")%></font></h4>

<%

}

%>

</center>

</head>

<body>

</body>

</html>



loginconf.jsp

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import = "java.sql.*"%>

<html>

<head>

<center>

<titl><h1>JDBC+JSP 登录程序</h1></title>

<hr>

<br>

</center>

</head>

<body>

<%--

使用JDBC连接ORACLE数据库

--%>

<%!

String DBDRIVER = "oracle.jdbc.driver.OracleDriver";

String DBURL = "jdbc:oracle:thin:@127.0.0.1:1521:YK";

String DBNAME = "scott";

String DBPASS = "tiger";

Connection conn = null;

PreparedStatement pstmt = null;

ResultSet rs = null;

%>

<%

boolean flag = false;

//接收参数

String name = request.getParameter("id");

String password = request.getParameter("password");

%>

<%

//连接数据库

String sql = "SELECT name from login where name=? and password=?";

try {

Class.forName(DBDRIVER);

conn = DriverManager.getConnection(DBURL,DBNAME,DBPASS);

pstmt = conn.prepareStatement(sql);//防止sql注入攻击

pstmt.setString(1,name);

pstmt.setString(2,password);

rs = pstmt.executeQuery();

if(rs.next()) {

out.println(rs.getString("name"));

flag = true;

session.setAttribute("uname",rs.getString("name"));

} else {

request.setAttribute("err","用户名或密码错误!");

}

rs.close();

pstmt.close();

conn.close();

}catch (Exception e) {

out.println(e);

}

%>

<%

//跳转

if(flag) {

//如果用户登录成功,则跳转到欢迎界面

//否则提示用户登录失败

%>

<jsp:forward page="loginsuccessf.jsp" />

<%

}

else {

%>

<jsp:forward page="login.jsp"/>

<%

}

%>

</body>

</html>



loginsucess.jsp

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.sql.*"%>

<html>

<head>

<center>

<titl><h1>JDBC+JSP 留言管理程序</h1></title>

<hr>

<br>

</center>

</head>

<body>

<%

if(session.getAttribute("uname")!=null) {

//用户已登录成功

%>

<center><h2>欢迎<font color="red" size=12><%=session.getAttribute("uname")%></font>进入留言管理系统

</h2></center>

<%

}

else {

//未登录,提示用户登录

response.setHeader("refresh","2;URL=login.jsp");

%>

您还未登录,2秒将后自动跳转到登录界面<br>

如果没有自动跳转,请<a href="login.jsp"><font color="greed">点击</font></a>这里登录!<br>

<%

}

%>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐