jsp+servlet+oracle 实现用户登陆功能

求教:、目前我做了一个登陆界面,现在的问题是如何连接数据库,并判断输入的用户名密码是否跟数据库的用户名密码符合。servlet里该怎么写呢,... 求教:、
目前我做了一个登陆界面,现在的问题是如何连接数据库,并判断输入的用户名密码是否跟数据库的用户名密码符合。servlet里该怎么写呢,
展开
 我来答
匿名用户
2015-07-10
展开全部
参考如下:
<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="登录">

<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>");
}
}
wokao_wg
2011-08-31 · TA获得超过107个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:78.7万
展开全部
- -。 你是初学java把? 连接数据库是最基础的。。
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
//orcl是我的oracle数据库sid
String conn_url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String conn_uid = "scott";//用户名
String conn_pwd = "tiger";//密码
Connection con = DriverManager.getConnection(conn_url, conn_uid, conn_pwd);
Statement stmt;
ResultSet rst;
//userid传过来的用户名,password 密码
String sql="select count(*) from xxxtable where userid="+userid+" and password="+password;
stmt = con.createStatement();
rst = stmt.executeQuery(sql);
先写到这吧。有事 先忙了
如果需要,可以提供更详细的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户96133
2011-08-31 · 超过26用户采纳过TA的回答
知道答主
回答量:162
采纳率:0%
帮助的人:99.1万
展开全部
网上这类的东西很多,
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="java.util.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form name="loginForm" method="post" action="judgeUser.jsp">
<table>
<tr>
<td>用户名:<input type="text" name="userName" id="userName"></td>
</tr>
<tr>
<td>密码:<input type="password" name="password" id="password"></td>
</tr>
<tr>
<td><input type="submit" value="登录" style="background-color:pink"> <input type="reset" value="重置" style="background-color:red"></td>
</tr>
</table>
</form>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="java.util.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>身份验证</title>
</head>
<body>
<%
request.setCharacterEncoding("GB18030");
String name = request.getParameter("userName");
String password = request.getParameter("password");
if(name.equals("abc")&& password.equals("123")) {

%>
<jsp:forward page="afterLogin.jsp">
<jsp:param name="userName" value="<%=name%>"/>
</jsp:forward>
<%
}
else {
%>
<jsp:forward page="login.jsp"/>
<%
}
%>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录成功</title>
</head>
<body>
<%
request.setCharacterEncoding("GB18030");
String name = request.getParameter("userName");
out.println("欢迎你:" + name);
%>
</body>
</html>

总共3个jsp文件,第一个是login.jsp,第2个是judge.jsp,第3个是afterLogin.jsp
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shenaodong
2011-08-31 · TA获得超过960个赞
知道小有建树答主
回答量:868
采纳率:0%
帮助的人:787万
展开全部
输入的用户名用request.getParameter()获取
用JDBC连ORACLE就可以了
条件查询得到比较结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
深海大龙虾爷
2011-08-31 · TA获得超过608个赞
知道小有建树答主
回答量:478
采纳率:37%
帮助的人:179万
展开全部
servlet里面 String username=request.getParameter("username");
String password=request.getParameter("password");
//参数名根据实际jsp页面的输入框名称对应
boolean right=new DBOperator().MyQuery(username,password);
DBOperator为自定义类名MyQuery()为这个类里面的用来连接数据库和校验用户名和密码的方法
在DBOperator里面定义MyQuery()方法如下
public boolean MyQuery(String username,String password){
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
Connection con = DriverManager.getConnection(url, username, password);
PreparedStatement ps;
ResultSet rs;
String sql="select count(*) from tablename where username='"+username+"' and password='"+password+"'";
rs = ps.executeQuery(sql);
if(rs.getInt(0)<=0){
return false
}
return true;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式