jsp用户登陆与退出

ruanjian2007 2008-11-24 08:54:46
登陆成功后显示“欢迎你XXX”,点退出就显示为登陆框。但是,现在当我点返回首页时,显示的不是当前的拥护名,而是登陆框……请教高手,该怎么做?下面是我的代码:login.jsp<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String Username=request.getParameter("Username");
String Password=request.getParameter("Password");
String input= request.getParameter("rand");

if (Username!=null && Password!=null)
{
//把用户名和密码保存在session中
session.setAttribute("user_name",Username);
session.setAttribute("pass_word",Password);
session.setAttribute("input",input);

//验证用户输入的验证码是否正确
if(input.equals(session.getAttribute("random")))
{

//如果正确就跳转到check.jsp验证用户名密码
response.sendRedirect("check.jsp");


}
else
{
//验证码不正确
out.print("错误");
// JOptionPane.showMessageDialog(null,"请选择文件!","提示",JOptionPane.ERROR_MESSAGE);
}

}
%>


<script type="text/javascript">
function check()
{
if (form.Username.value=="")
{
alert("请输入用户名!!!");
form.Username.focus();
return false;
}
if (form.Password.value=="")
{
alert("请输入密码!!!");
form.Username.focus();
return false;
}
}

function register()
{
window.open("../JSP/Register.jsp");
}
</SCRIPT>

<html>
<HEAD>
<title>用户登陆</title>
<style type="text/css">
<!--
.STYLE1 {font-size: 16px}
body {
background-color: #F0F5F9;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></HEAD>
<BODY>
<form name="form" onsubmit="return check()" action="login.jsp" method="post">
<table width="485" height="37" border="0" align="left" cellpadding="0" cellspacing="0" bgcolor="#F0F5F9">
<tr>
<th width="76" align="left" valign="middle" scope="col"><span class="STYLE1">用户名:</span></th>
<th width="105" align="left" valign="middle" scope="col"><input name="Username" type="text" id="Username" size="15"></th>
<th width="65" align="left" valign="middle" class="STYLE1" scope="col">密码:</th>
<th width="105" align="left" valign="middle" scope="col"><input name="Password" type="password" id="Password" size="15"></th>
<th width="124" align="center" valign="middle" scope="col"><input type="submit" name="Submit" value="提交"> 
<input type="button" name="Submit2" onClick="return register();" value="注册"></th>
</tr>
</table>
</FORM>
</BODY>
</HTML>

check.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" errorPage=""%>
<%@ page import="java.sql.*" %>

<jsp:useBean id="sqltest" class="com.sellscar.servlet.sqlbean" scope="page">
</jsp:useBean>
<html>
<head>
<title>认证码验证页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<style type="text/css">
<!--
body {
background-color: #F0F5F9;
}
-->
</style>
</head>
<body>
<%
String user_name= (String)session.getAttribute("user_name");
String pass_word= (String)session.getAttribute("pass_word");
%>

<%
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://127.0.0.1:1433;databaseName=LoginDB;username=sa;password=12345";
Connection conn = DriverManager.getConnection(connectionUrl);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select * from Manager where userID= '"+user_name+"'and password='"+pass_word+"'";
ResultSet rs = stmt.executeQuery(sql);
if (rs.next())
{
out.print("登陆成功");
//获得用户的权限
%>
欢迎你:
<%=session.getAttribute("user_name") %><a href="#">注销</a><br>
<% }
else
{
out.print("登陆失败,用户名或密码错");
}
%>
</body>
</html>

<iframe src="../JSP/login.jsp" name="showEveryCarFrame" width="500" height="50" align="left" scrolling="no" frameborder="0"></iframe>在主页位置显示登陆跟用户信息
...全文
1032 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eyuansu 2010-03-31
  • 打赏
  • 举报
回复
路过 看看~
JavaAlpha 2009-06-10
  • 打赏
  • 举报
回复
路过看看
aaa999aaa888 2009-05-18
  • 打赏
  • 举报
回复
if (rs.next())
{
out.print("登陆成功");
//获得用户的权限
%>
欢迎你:
<%=session.getAttribute("user_name") %> <a href="#">注销 </a> <br>
<% }
else
{
out.print("登陆失败,用户名或密码错");
}
%>
</body>


你的判断是第一次登陆后读取数据库,然后根据是否存在用户来判断是否显示欢迎你XXX
但是当你返回时调用的是页面的session而并没有进行数据库操作,因此你的判断不成立也就无法显示了。

代码贴得太多了,不知道有没有看错了,下次把关键的地方贴上来就行啦
zm_hs 2009-05-18
  • 打赏
  • 举报
回复
你的首页和登陆页面是同一个吗?如果不是咱会出现你这个问题?
koogy 2009-05-18
  • 打赏
  • 举报
回复
很好我东西,学习了
阿_布 2009-05-17
  • 打赏
  • 举报
回复
代码太多了..........
lovezx1028 2009-05-16
  • 打赏
  • 举报
回复

<logic:....</logic> 用logic标签判断是否存在。。。。。。
findee 2009-05-14
  • 打赏
  • 举报
回复
学习!
YOULOVEXIA 2009-05-13
  • 打赏
  • 举报
回复
值得学习!
ziyeniu 2009-05-12
  • 打赏
  • 举报
回复
很好呀 看过了.
rachel_tang 2009-04-23
  • 打赏
  • 举报
回复
<%
if (session.getAttribute("user_name") == null) {
请登录
%>
<%
} else {
%>
欢迎<%=session.getAttribute("user_name")%> !!!!!!
<%
}
%>

大概意思﹐需要小改下
mellow_msb 2009-04-23
  • 打赏
  • 举报
回复
不知道楼主是不是这个意思
mellow_msb 2009-04-23
  • 打赏
  • 举报
回复
<%
if (session.getAttribute("user_name") == null) {
请登录
%>
<%
} else {
%>
欢迎XXX!!!!!!
<%
}
%>
cjg520jie 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 piaoye83 的回复:]
将用户名保存到session范围
在登陆页面加上判断就行了
HTML code<logic:notEmptyname="loginName">存在时的代码</logic:notEmpty><logic:emptyname="loginName">不存在时的代码</logic:empty>
如果是退出同时有用户名框显示刚登陆过的用户可以用标签
<html:text property="loginName" </html:text>
[/Quote]


可以这样去用隐藏区实现

wxw_cool 2009-04-22
  • 打赏
  • 举报
回复
先把用户名保存到session里面嘛,不就可以得到了。。。
wdj926 2008-11-24
  • 打赏
  • 举报
回复
不明白意思
NickCheng 2008-11-24
  • 打赏
  • 举报
回复
不过我会带回去,漫漫看的!
NickCheng 2008-11-24
  • 打赏
  • 举报
回复
阅,没赖性看下去!时间有限!不好意思!
ruanjian2007 2008-11-24
  • 打赏
  • 举报
回复
就好像CSDN那样,在我的空间里有“欢迎你,ruanjian2007",返回到CSDN的首页,也能显示“欢迎你,ruanjian2007".只有当我点退出的时候才注销我的用户名……请高手指教!!!!在线等!!!
風男 2008-11-24
  • 打赏
  • 举报
回复
将用户名保存到session范围
在登陆页面加上判断就行了

<logic:notEmpty name="loginName">
存在时的代码
</logic:notEmpty>
<logic:empty name="loginName">
不存在时的代码
</logic:empty>

如果是退出同时有用户名框显示刚登陆过的用户可以用标签
<html:text property="loginName"</html:text>
加载更多回复(2)

67,537

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧