网站登陆后跳转到首页,显示“您好 用户名 ”?

来源:百度知道 编辑:UC知道 时间:2024/05/09 15:44:10
我正在做网上书店,希望不登陆时能浏览书籍,但是不能访问“我的帐户”、“购物车”等页面,而且首页不会出现“您好XXX”的问侯。不过一旦登陆了就跳转到首页并显示问候。
我用的是session,登陆后把值存储为userid。跳转到首页后,获取session值来显示用户名。不过问题就是用户一开始是到首页,这时候session还没设置,出错!
请问如何解决呢?
登陆代码:
String s_name=request.getParameter("username");
String s_password=request.getParameter("userpassword");
String sql= "select * from user_regist where username='"+s_name+"'and userpassword='"+s_password+"'";
rs=st.executeQuery(sql);
if(rs.next()){
session.setAttribute("uid",rs.getString("userid"));
out.print("<script language=\"JavaScript\">alert(\"登陆成功!\");window.location=\"index.jsp\";</script>");
}
else
{
out.print("<script LANGUAGE=\"JavaScript\">alert(\"用户名或密码不正确!\");window.location=\"log

首先,在登陆代码中不要那样实现页面跳转,会让执行速度降低的,你可以试试redirect或者forward,不过只是简单的跳转还是建议用前者。
还有,在首页中获得session中的数据时是session.getAtribuite("pname"),再者是不是存在的判断条件是null,而不是"".
注意:上面的某些英文词可能写错了一两个字母,不过大概的意思肯定没错呢(身边没书和IDE)。
最后,建议你还是用个IDE吧,不要只是使用Dreamweaver来做jsp,比较容易上手的可以使用NetBeans,不过最好还是使用Eclipse,不过这个对新手来说配置起来有点难度。对了,不要专门只用jsp,最好还是用一些servlet来做数据处理比较好呢,如果你还想做的有意思点,可以再加上JavaBeans、EJB、hibernate、DBpool、国际化、框架等等,当然后面这些都是建议而已,在你先完成自己的任务的前提下再玩吧。

在首页添加如下代码

<% String uid = requeat.getParameter("username");
if(uid == "" || uid == null){
//做出还未登录的动作
%> --之间添加html
. <%
}
else{
//之间添加 登录的 html
}
%>