今天更是进一步理解了对象的含义。是的,楼主是条单身狗。但是我还是更深一步的理解了面向对象中对象的含义呀(呸,卖什么萌。。。。。。)。

首先做个简单的例子,jsp页面偏爱于el标签。el标签真的很舒服的说,虽然学的不行。

login的servlert

public class Login extends HttpServlet {private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();String uname = request.getParameter("username");String pword = request.getParameter("password");List<UserBean> list = Db.getAll();//这里并没有新建一个对象,但是下面static定义的内容已经加载了for(UserBean u: list){if(u.getUname().equals(uname) && u.getPword().equals(pword)){request.getSession().setAttribute("user", u);
response.sendRedirect("index.jsp");return;}out.write("erererererer");}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request,response);}}//新建一个类,类里先放一些用户的信息,方便登录验证,暂时替代了SQL的相同部分
class Db
{public static List<UserBean> list = new ArrayList<UserBean>();//方便在没有创建对象的情况下来进行调用(方法/变量)。static{list.add(new UserBean("a","1"));list.add(new UserBean("b","1"));list.add(new UserBean("c","1"));}public static List<UserBean> getAll(){return list;}
}

对应的登录jsp页面

<body><form action="Login" method="post">帐号:<input type="text" name="username"><br>密码:<input type="password" name="password"><br><input type="submit" value="登录">
</form></body>

登录成功的页面

 <body>欢迎您,${user.uname} <br><a href="Logout">退出登录</a></body>

要知道session在生成了之后会一直存在的,所以在其他的页面也都可以直接显示出来登录名

<body>欢迎您,${user.uname}</body>

当然具体会有一些操作session的方法和内容,这些等待我这个渣渣去学习。

对应的退出servlert

 public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {HttpSession session = request.getSession(false);if(session == null){response.sendRedirect("index.jsp");return;}session.removeAttribute("user");response.sendRedirect("index.jsp");}

对应的userbean

public class UserBean {private String uname;private String pword;public UserBean(String uname,String pword){this.uname = uname;this.pword = pword;}public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getPword() {return pword;}public void setPword(String pword) {this.pword = pword;}}

当然大多数时候我们需要获取到当前的用户信息,比如当前的用户名,密码。

正常的获取servlert的方法是

HttpSession session =request.getSession();
session.getAttribute("user");

这个时候我们就获取到了user这个对象。为了获取对象中包含的用户名,我们需要强制转换,然后get我们需要的值

((UserBean)session.getAttribute("user")).getUname();

这个过程中,对于面向对象的理解会更好一点。

当然其实有一个方法就不需要这么麻烦了。

在创建session的时候,只把登录名放进去。

if(u.getUname().equals(uname) && u.getPword().equals(pword)){request.getSession().setAttribute("username", u.getUname());response.sendRedirect("index.jsp");return;}

然后获取的时候就直接获取

System.out.println(session.getAttribute("username"));

这样子就可以了

但是实际上,不可能只在session里放一个名字的。

servlert生成session传到jsp,servlert从jsp页面获取session的值相关推荐

  1. Jsp页面获取session

    关于jsp页面获取session的方式: 假如有这样一个session值:(name: 'tomcat') 1.用stracts获取: <s:property value="#sess ...

  2. 如何在ashx页面获取Session值(未将对象引用设置到对象的实例) (转)

    如何在ashx页面获取Session值(未将对象引用设置到对象的实例) 分类: .Net学习笔记 Session 2011-11-30 10:25 902人阅读 评论(1) 收藏 举报 在一般事务处理 ...

  3. 如何在ashx页面获取Session值

    WEB开发,在一般处理程序中,很容易得到 Request和Response对象,如: HttpRequest _request = context.Request; HttpResponse _res ...

  4. 如何在ashx页面获取Session值 (仅供个人参考)

    在一般事务处理页面,可以轻松的得到 Request,Response对象,从而进行相应的操作,如下: HttpRequest Request = context.Request; HttpRespon ...

  5. php html页面获取session,怎么在html中获取session变量

    采用ajax执行远程的PHP文件 然后返回到HTML页面上. function checkUserName(){ hiddenDiv(info_001);//隐藏提示 if(document.thef ...

  6. php关闭当前页_php如何直接关闭页面注销SESSION

    php如何直接关闭页面注销SESSION 发布时间:2020-07-09 09:03:06 来源:亿速云 阅读:100 作者:Leah 这篇文章将为大家详细讲解有关php如何直接关闭页面注销SESSI ...

  7. php网页跳转无法获取session值

    今日编写项目,需要在跳转后的页面获取session值进行自动登录操作,但是明明在传输页面可以打印出session值,但在接受页面却显示session值为空,经确认脚本中的session_start() ...

  8. 微信小程序uni.switchTab传参获取不到;小程序跳转到tabBar页并传参;uni-app微信小程序获取tabBar页面参数失败;uni-app微信小程序tabBar页面onLoad不执行

    需求场景:从非tabBar页面B跳转到tabBar页面A,并想要携带参数. 如果使用uni.switchTab传参,会导致tabBAE页面获取不到参数: 原因: 官方文档有说,uni.switchTa ...

  9. 基于javaweb的网上商城系统(java+jsp+servlert+mysql+ajax)

    基于javaweb的网上商城系统(java+jsp+servlert+mysql+ajax) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myec ...

最新文章

  1. bash脚本编程之for循环
  2. 不懂SOLID,GRASP这些软件开发原则!写出来的代码都是垃圾!
  3. oracle数据库作业1,北京语言20秋《Oracle数据库开发》作业1(100分)
  4. StarUML 4.0
  5. 2016php技术面试题,一个php的面试题,大家看看
  6. 小程序开发(13)-location定位
  7. java网络编程1、2章习题
  8. 2014年Q1台湾域名总量涨幅增95.7% 净增1201个
  9. Serializable中的serialVersionUID
  10. Oracle 日期时间函数详解
  11. stm32智能避障小车(三)之L298N
  12. 苹果无线耳机连接不上_为什么我们一定要买TWS真无线耳机?
  13. 【R语言 | 如何绘制带组内差异比较的柱形图】
  14. 如何格式化日期和时间
  15. https证书服务器怎么完成部署?
  16. Oracle 11gR2 dataguard搭建说明 --- duplicate方式
  17. 计算机控制 根轨迹,五计算机实时控制系统的设计根轨迹法PPT课件
  18. VUE的插槽(slot和slot-scope)
  19. 状态管理的概念,都是纸老虎
  20. Vue实现进度条斑马条纹动画效果(easiest)

热门文章

  1. Web应用;手机终端测试方法
  2. 如何升级Symbian Carbide C++的GCC编译器版本
  3. 钉钉小程序 实现Tab选项卡
  4. 数据结构单链表实现班级考勤管理系统
  5. redis相关的详细介绍,包括三主三从集群的搭建
  6. 如何优雅的实现分布式接口幂等性、分布式限流(荣耀典藏版)
  7. C# - 音乐小闹钟_BetaV2.0
  8. php实现微信小程序内容安全接口校验
  9. 推荐系统的主要算法(2)
  10. 智慧社区安防系统解决方案