CSDN第一天——简单的登录注册及针对不同用户显示不同界面

今天开通CSDN博客,是因为你读了贺利坚老师的逆袭大学,真的是感慨万千,觉得自己大一到大三的大学都有点白读了,虽然中间都有拿三等和二等奖学金,但对于计算机专业来说考试真的是最低级的玩意了,卷面的满分编程的能力依然是零分。大学如果再这样下去真的是除了那两张证其他的什么都没有了。现在大三了,想找一份自己能真真动手做项目的实习,随之而来的确实铺天盖地的培训机构,这不得不让我对计算机这个行业心生畏惧。一个大三的学生找份实习真的这么难吗!

现在静下心来想想,只怪自己的技术没有学好学精。我以前都太看重考试成绩,自己动手编程能力真的为零。每次做课程设计都是自己在网上找一份类似的资源,或者找同学copy一份。现在到了大三,真的是追悔莫及,大学已经过去了学习知识最好的实习。过来暑假大四,应该要准备考研了,没有大一到大三这么多的时间区攻克技术这一块了。希望读到这篇博文的低年级学生能引以为戒。好了,感慨了这么多,该进入今天的话题了。我做的是一个很简单的登录注册页面。对不同的用户查看到的信息会各不相同。

写这样一个小的页面控制,需要一个regesister.jsp页面,用于显示表单收集用户信息,需要一个Regesister的Servlet类用于处理从登录页面传递来的信息,校准用户名和密码,如果用户名正确,跳转到s1.jsp,在这个页面用户可以点击按钮注销或者查看用户自己的信息(包括用户名和密码,当然,在真是的项目中肯定是查看一些商业信息),但只有admin用户才能查看全部的信息,二创建的guest用户自能查看权限内的部分信息(如果用数据库的权限管理这将非常简便,当然,合法的用户也会是数据库查询的结果,由于学者还没有学到JDBC这一块,这个内容我会在后期实现的,期待各位博友的关注)。好了,用贺老师的话说,一切用代码说话,现在看看编者的代码实现吧!

 <%
  String msg="";
  String message=(String)request.getAttribute("msg");
  if(message!=null){
 msg=message;
  }
  %>
  <font color="red" ><b><%=msg %></b></font>

<%--巧用msg使有错时输出错误信息,无错时使用输出空串,也就是没有输出 --%>

在登录注册页面加上这句话是为了不合法用户登录时可以用红色字体错误信息,并将页面转发到当前的登录页面。

if ((name.equalsIgnoreCase("admin") && password
.equalsIgnoreCase("123456"))
|| name.equals("guest")) {
Cookie cookie = new Cookie("username", name);
cookie.setMaxAge(60 * 60);// 登陆后可以持续一段时间Cookie不会消失
response.addCookie(cookie);// 服务器给他一个Cookie
// sname为用户的判别信息,在一次会话有效,在request的中的话可能被覆盖

request.getRequestDispatcher("/myForm/s1.jsp").forward(request,
response);
} else if(name==null||name.equals("")){
request.setAttribute("msg", "还没登录,请先登录!");
request.getRequestDispatcher("/myForm/regesister.jsp").forward(request, response);

}else {// 属性msg为错误信息的保存属性,在request域中即可
request.setAttribute("msg", "用户名或密码错误");
request.getRequestDispatcher("/myForm/regesister.jsp").forward(
request, response);
// response.sendRedirect("/day11_3/myForm/regesister.jsp");

//这样会再一次请求,让request域中的内容被抹杀
}

这一段是对用户信息的逻辑分析,对没有填写用户名的用户以及不合法的用户转发到登录界面,并通过request域传递出相应的错误信息。对正确的admin用户(密码必须是123456)和guest用户(密码可以任意),转发到s1.jsp。到达s1.jsp后用户可以选择注销到原来的登录页面,或者查看对应权限的页面信息。最后需要强调的是s1.jsp和s2.jsp都需要通过注册页面才能访问。这是将request域的属性转存到session域,让它的生命周期更长。加上下面的一段代码即可解决! 

if(username==null){
    request.setAttribute("msg", "还没登陆");
    request.getRequestDispatcher("/myForm/regesister.jsp").forward(request, response);
    return;
    }

到这一步基本的登录注册即可实现,下面为实验中的一些截图。

  


此为直接访问s1.jsp的返回结果      此为admin用户登录成功后的s1.jsp页面

         

此为admin用户登录成功后点击显示用户信息的结果          以上为guest用户登录后显示用户信息给出的提示

结果的显示就到这里吧,这还要感谢传智播客的教学视屏。这确实是一个非常菜鸟的小程序,只希望给位博客大神勿喷,作者只是想让CSDN博客从今天开始记录我的点点滴滴。写出一个小玩意的收获,让CSDN见证我的成长,希望能找到博客大神们的共勉。不知不觉0点30了,该睡了,成长每一天,明天见!!!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值