目录

  • 1 课程概述及开发工具
    • 1.1 第1次课 课程概述
    • 1.2 第1次课  开发工具
  • 2 HTML基础(4+2)
    • 2.1 第2次课  认识HTML
    • 2.2 第3次课  表格制作
    • 2.3 第4次课  表单:文本框和按钮制作
    • 2.4 第4次课  表单:单选框制作
    • 2.5 第4次课  表单:复选框制作
    • 2.6 第4次课  表单:下拉框制作
    • 2.7 第4次课  表单综合练习
    • 2.8 综合项目:大学生消费水平调查问卷网页设计
    • 2.9 第4次课 CSS基础
      • 2.9.1 第4次课  认识CSS-嵌入式CSS语句
      • 2.9.2 第4次课  认识CSS-文档头内CSS语句
      • 2.9.3 第4次课  认识CSS-CSS外部文件应用
      • 2.9.4 附:CSS参考手册
  • 3 JSP开发基础
    • 3.1 第1次课 认识JSP
    • 3.2 第1次课  EL语言
    • 3.3 第1次课 JSP页面元素
    • 3.4 第2次课  JSP页面元素-代码片段
    • 3.5 第3次课  JSP页面元素-标签行为
      • 3.5.1 第3次课  标签行为jsp:useBean
    • 3.6 第4次课 标签行为 jsp:forward
      • 3.6.1 第4次课 标签行为jsp:param
    • 3.7 第5次课 再一次认识JSP
    • 3.8 附:JavaEE API(开发者参考手册)
    • 3.9 jsp基础测试题
  • 4 JSP内置对象
    • 4.1 第1次 JSP内置对象概述
    • 4.2 第1次 request对象概述
    • 4.3 第2次 request对象获取表单中的请求参数
    • 4.4 第3次 request对象获取URL中的请求参数
    • 4.5 第4次 小项目:列表导航与详情页面设计
    • 4.6 第5次 request对象获取特殊的请求参数-“一对多键-值”对(选)
    • 4.7 第5次 小项目:调查问卷(选)
    • 4.8 第6次 session对象
    • 4.9 第7次 存储“键-值”对到session对象
    • 4.10 第8次 存储“键-值(对象)”对到session对象
    • 4.11 第9次 小项目:果卉团-选购功能设计与实现
    • 4.12 第10次 application对象
    • 4.13 第10次 小项目:运用application实现留言板
  • 5 Servlet开发基础
    • 5.1 第1次 Servlet概述
    • 5.2 第1次 Servlet的生命周期
    • 5.3 第2次 Servlet生成HTML页面
    • 5.4 第3次 Servlet处理表单数据
    • 5.5 第4次 Servlet页面重定向
    • 5.6 第4次 小项目:Web计算器
    • 5.7 第5次 Servlet请求转发
    • 5.8 第6次 Servlet中访问HttpSession对象
    • 5.9 第7次 小项目:简单Web教师工资计算
  • 6 JDBC数据库访问技术
    • 6.1 第1次 JDBC概述
    • 6.2 第2次 JDBC-Statement、ResultSet
    • 6.3 第3次 JDBC实现Web页面简单查询
    • 6.4 第4次 JDBC完成表单查询应用
    • 6.5 第4次 小项目:“寝室大事记”Web查询系统
    • 6.6 第5次 JDBC-预准备语句PreparedStatement
    • 6.7 第6次 JDBC完成增删改功能应用
    • 6.8 第7次 小项目:基于层次架构模式的Web教师工资管理系统
    • 6.9 JDBC API
第8次 存储“键-值(对象)”对到session对象

回顾

将键值对存储到session的重要方法:

1.将对应的键-值对存入session 对象 

void setAttribute(String name,Object value)

2.从session 对象中根据键返回值

Object getAttribute(String name) 

将键-值(对象)对存储到session对象

java的数据类型分为简单类型和引用类型。简单类型又可以成为值类型、原始类型。如果“键值对”中的“值”不是简单类型而是引用类型。也即是不是简单的一个float、int、char类型的数据,而是希望一个类类型对应的数据(对象),那么将会大大增强开发者的开发体验,加大开发效率。这个类类型有可能是一个自定义的Student类,也有可能是一个集合类,如ArrayList<Student>.

所以setAttribute方法的运用可以是:

session.setAttribute(键名,Student对象的引用名);

session.setAttribute(键名,ArrayList<Student>对象的引用名);


案例1

将用户名和密码存储到服务器,且用户名和密码作为一个User对象,是否能将

User对象存储到session中?可以采取如下思路:将整个User对象作为键值对中的

“值”。

页面1:login.jsp

User user = new User("Jake","123");

session.setAttribute("userinfo",user);

页面2:welcome.jsp

访问session中存储的数据:

u = (User)(session.getAttribute("userinfo"));

欢迎你!<%=u.getName()%>

案例2

login.jsp页面将一个Teacher对象作为键值对中的“值”,存储到session对象。welcome.jsp页面访问session,并将这个Teacher对象的信息一一显示出来。

login.jsp:

<body>

<%

Teacher teacher = new Teacher("00001","Jake",15,"","副教授");

session.setAttribute("teacher",teacher); %>

<jsp:forward page= "welcome.jsp"></jsp:forward>

 

</body>

 

Welcome.jsp:

<body>

你好,<%=((Teacher)session.getAttribute("teacher")).getName() %><br>

你的工号是:<%=((Teacher)session.getAttribute("teacher")).getTno()%><br>

你的年龄是:<%=((Teacher)session.getAttribute("teacher")).getAge() %><br>

你的性别是:<%=((Teacher)session.getAttribute("teacher")).getSex() %><br>

你的职称是:<%=((Teacher)session.getAttribute("teacher")).getTitle() %>

 </body>

Teacher.java:

package dao;

 

publicclass Teacher {

    String tno;

    public String getTno() {

       returntno;

    }

    publicvoid setTno(String tno) {

       this.tno = tno;

    }

    public String getSex() {

       returnsex;

    }

    publicvoid setSex(String sex) {

       this.sex = sex;

    }

    String sex;

intage;

 

    publicint getAge() {

    returnage;

}

publicvoid setAge(int age) {

    this.age = age;

}

    public String getName() {

       returnname;

    }

    publicvoid setName(String name) {

       this.name = name;

    }

    public String getTitle() {

       returntitle;

    }

    public Teacher( String name, String title,int age) {

   

       this.age = age;

       this.name = name;

       this.title = title;

    }

    public Teacher(String tno,String name,  int age, String sex, String title) {

       super();

       this.tno = tno;

       this.sex = sex;

       this.age = age;

       this.name = name;

       this.title = title;

    }

    publicvoid setTitle(String title) {

       this.title = title;

    }

    public Teacher(String name, String title) {

       super();

       this.name = name;

       this.title = title;

    }

    String name;

    String title;

    publicstaticvoid main(String[] args) {

       // TODO Auto-generatedmethod stub

    }

}

举一反三,请大家思考,是否能将一个集合对象存储到session中呢?

案例3

Login.jsp将以下ArrayList中的5个教师的信息存放到session中,welcome.jsp页面访问session,并将ArrayList中的5个教师信息一一显示出来。

Login.jsp:

<body>

<%

Teacher teacher = new Teacher("00001","Jake",45,"","副教授");

ArrayList<Teacher>list = new ArrayList<Teacher>();

list.add(teacher);

list.add(new Teacher("00002","Mike",38,"","副教授"));

list.add(new Teacher("00003","Cake",48,"","教授"));

list.add(new Teacher("00004","Bike",38,"","教授"));

list.add(new Teacher("00005","Duke",28,"","助教"));

session.setAttribute("list",list); %>

<jsp:forward page= "welcome.jsp"></jsp:forward>

</body>

welcome.jsp:

<body>

此处显示所有教师的所有信息

</body>



本页面内容全部由作者姚远原创,请使用者写明出处后再行使用。