当前位置: 代码迷 >> Java Web开发 >> 怎么用jsp与oracle数据库实现用户登录功能
  详细解决方案

怎么用jsp与oracle数据库实现用户登录功能

热度:10224   发布时间:2013-02-25 21:08:57.0
如何用jsp与oracle数据库实现用户登录功能
用jsp与oracle数据库实现用户登录功能,在jsp界面用户输入用户名和密码,提交到servlet中与数据库中的用户名和密码进行比较成功就提示登录成功否则提示登录失败请重新登录。

------解决方案--------------------------------------------------------
<form action="dologin" method="post" name="frm">
用户名: <input type="text" name="username" id="username">
<br/>
密码:<input type="password" name="userpwd" id="userpwd">
<br/>
<input type="submit" name="subbtn"value="登录">
&nbsp;&nbsp;
<input type="reset" name="rebtn"value="取消">
</form>

servlet:
// 设置编码
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
// 获取参数
String username = request.getParameter("username");
String userpwd = request.getParameter("userpwd");
// 输出流
PrintWriter out = response.getWriter();
HttpSession session = request.getSession(true);
// 
UserDao userdao = new UserDao();
User user = null;
try {
user = userdao.getUser(username);
} catch (Exception e1) {
e1.printStackTrace();
}

// 登录判断
if(!(user== null) &&(user.getPassword().equals(userpwd))){
// 存放到session中
session.setAttribute("user", user);
// 重定向
response.sendRedirect("index.jsp");
}
else{
// 登录失败提示
out.print("<script>alert('登录失败,请重新登录!!');window.location.href='login.jsp';</script>");
}
}

------解决方案--------------------------------------------------------
jsp页面主要代码:
[code=Java]
<form action= "login.action " method= "post ">
用户名: <input type= "text " name= "username "/> </br>
密码: <input type= "password " name= "password "/> </br>
<input type= "submit " value= "提交 "/>
</form>
[/code]
Servlet页面源代码:
[code=Java]
package web;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet {

public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType( "text/html;charset=utf-8 ");
request.setCharacterEncoding( "utf-8 "); //解决jsp页面传值到servlet的中文乱码问题
String uri = request.getRequestURI();
String action = uri.substring(uri.lastIndexOf( "/ "),uri.lastIndexOf( ". "));
if(action.equals( "/login ")){
String username = request.getParameter( "username ");
String password = request.getParameter( "password ");
if(username.equals( "XXX ") && password.equals( "YYY ")){
response.sendRedirect( "success.jsp ");
}else{
response.sendRedirect( "fail.jsp ");
}
}

}

}
[/code]
楼主,只需要运用简单的sql语句查询数据库得到用户名XXX和对应的密码YYY,就可以了
succes.jsp和fail.jsp自己完善,一句话的事。
------解决方案--------------------------------------------------------
连接数据库的工具类
package com.lan.tools;
import java.sql.*;
import java.util.Properties;
  相关解决方案