关于Session传递的问题

不善^ 2009-06-07 01:55:27
有两个页面 一个是登陆页面,一个是首页,我想实现这样的功能
从登陆页面登陆,先进行用户名和密码的判断,如果登陆成功就跳转到
首页
然后在首页显示 “欢迎你,XX”(XX为用户登陆后的用户名)
我知道可以用SESSION 解决(或者其他办法也行) 但是想了半天不知道如何实现,麻烦大家帮我解决下 谢谢了
代码如下:
登陆的代码:

<%@page import="java.sql.*" import="java.util.*"
import="java.io.*,com.function" import="java.text.*"

contentType="text/html;charset=gb2312" buffer="20kb"%>
<jsp:useBean id="req" class="com.Sqlselect" scope="page" />
<%
String action = request.getParameter("action");
if (action == null)
action = "";
if (action.equals("loginout")) {
session.setAttribute("login", "no");
}
if (!action.equals("login")) {
%>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>登陆</title>
</head>

<body>

<form id="form1" name="login" method="post" action="login.jsp">
<p> </p>
<p> </p>
<p> </p>
<table width="280" border="1" align="center">
<tr>
<td colspan="2"><div align="center">用户登陆</div></td>
</tr>
<tr>
<td width="78">用户名:</td>
<td width="186"><label>
<input type="text" name="username"/>
</label></td>
</tr>
<tr>
<td> 密码:</td>
<td><label>
<input type="text" name="userPwd" />
</label></td>
</tr>
<input type="hidden" name="action" value="login" />
<tr>
<td><label>
<input type="submit" name="Submit" value="提交" />
</label></td>
<td><label>
<input type="reset" name="Submit2" value="重置" />
</label></td>
</tr>
</table>
</form>

</body>
</html>
<%
} else {
try {

String username = request.getParameter("username");
String userpasswd = request.getParameter("userPwd");

String sql = "select * from user where u_name='"
+ username + "'";
ResultSet info = req.executeQuery(sql);
info.next();
if (!userpasswd.equals(info.getString("u_passwd"))) {
out
.println("<script language=\"javascript\">alert(\"用户名或密码不正确...\");</script>");//密码不正确为了安全期间,都提示用户名密码不正确
out.println(" <script language='javascript'>");
out.println("location='./login.jsp'; </script>");
} else {
session.setAttribute("login", "ok");//使用session对像将登陆信息存入


out.println(" <script language='javascript'>");
out.println("location='./index.jsp?'; </script>");
}
} catch (Exception e) {
out
.println("<script language=\"javascript\">alert(\"用户名或密码不正确...\");</script>");//用户名不正确为了安全期间,都提示用户名密码不正确
out.println(" <script language='javascript'>");
out.println("location='./index.jsp'; </script>");
}


}
%>


首页代码:(首页现在什么都没写,主要用来测试显示用户名)

<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>首页</title>
</head>
<body>
<%
String name="";
name=(String)session.getAttribute("username");
%>
<p>欢迎你,<%=name %></p>
</body>
</html>


大家帮我修改修改,谢谢了
...全文
111 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
不善^ 2009-06-07
  • 打赏
  • 举报
回复
5楼的 session.setAttribute("login", "ok"); 不是取用户名,
我觉得2楼比较正确
默然说话 2009-06-07
  • 打赏
  • 举报
回复
在“session.setAttribute("login", "ok");//使用session对像将登陆信息存入”这句代码后面加上:
session.setAttribute("username",username);

就可以了。

顺便说句:楼主转页面的代码相当牛逼呀!!!佩服!!学习了!!
Monkey 2009-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qiheia 的回复:]


session.setAttribute("login", "ok");//使用session对像将登陆信息存入

name=(String)session.getAttribute("username");

一个存的名字,与取的名字不一样。。。

应该改成

name=(String)session.getAttribute("login");
[/Quote]

正确 就是这样做的,首先用session保存,然后从里面取出来就可以呢 啊
哆啦咪咕 2009-06-07
  • 打赏
  • 举报
回复
同上上...
三月暖阳 2009-06-07
  • 打赏
  • 举报
回复
在登陆的那个action里把用户名存到session里,然后在你那个首页里用session取下就ok了啊
yangkangoo12 2009-06-07
  • 打赏
  • 举报
回复
在 session.setAttribute("login", "ok");//使用session对像将登陆信息存入
后面加上 session.setAttribute("username", username);//使用session对像将用户名存入
qiheia 2009-06-07
  • 打赏
  • 举报
回复


session.setAttribute("login", "ok");//使用session对像将登陆信息存入

name=(String)session.getAttribute("username");

一个存的名字,与取的名字不一样。。。

应该改成

name=(String)session.getAttribute("login");

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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