目录

  • 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
第4次 小项目:列表导航与详情页面设计

本节讲述如何通过循环生成一系列超级链接,且这些超级链接可以分别链接到不同的页

面结果。

具体来看一个示例:

实现效果:

完成教师信息列表导航与详情页面设计。见图1、图2所示。


                                                               图1 

                                                              图2

分析:

第一步:两个页面的数据来源。

第二步:将数据进行呈现。

设计思路:

(1)编写类

编写一个实体类:TeacherInfo

包括:编号、姓名、年龄、性别、职称等字段。

编写一个管理类:ManagerTeachers

提供至少两个方法:

①获取全部教师数据。(此处假设5个教师数据已经从数据库获得,并作为5个TeacherInfo对象全部由ArrayList管理)getAllTeachers方法即是通过ArrayList获得所有的教师数据。

②根据教师编号查询教师其他信息。

getTeacher方法通过编号在ArrayList中查询,获得编号对应的教师详情信息。

(2)编写页面

设计第一个页面用于显示这5个教师姓名,并且提供超级链接:可进一步查看详情

设计第二个页面用于显示详情。详情包括:编号、姓名、年龄、性别、职称等。

具体项目文件结构和源码:


实体类:

Teacherinfo.JAVA:

管理类(两个方法)

①获取全部教师数据。

②根据教师编号查询教师其他信息。

源码:

Teacherinfo.JAVA:

package payroll;

public class Teacherinfo implements JAVA.io.Serializable {

  private String tno;

  private String teachername;

  private Integer age;

  private String sex;

  private String title;

  public Teacherinfo() {

  }

  public Teacherinfo(String tno) {

    this.tno = tno;

  }

  public Teacherinfo(String tno, String teachername, Integer age, String sex, String title) {

    this.tno = tno;

    this.teachername = teachername;

    this.age = age;

    this.sex = sex;

    this.title = title;

  }

  public String getTno() {

    return this.tno;

  }

  public void setTno(String tno) {

    this.tno = tno;

  }

  public String getTeachername() {

    return this.teachername;

  }

  public void setTeachername(String teachername) {

    this.teachername = teachername;

  }

  public Integer getAge() {

    return this.age;

  }

  public void setAge(Integer age) {

    this.age = age;

  }

  public String getSex() {

    return this.sex;

  }

  public void setSex(String sex) {

    this.sex = sex;

  }

  public String getTitle() {

    return this.title;

  }

  public void setTitle(String title) {

    this.title = title;

  }

}

ManageTeachers.JAVA源码:

注意:教师信息通过一个Arraylist存储。

package payroll;

import JAVA.util.ArrayList;

public class ManageTeachers {

  ArrayList<Teacherinfo> teachers;

  public ArrayList<Teacherinfo> getAllTeachers(){

    teachers = new ArrayList<Teacherinfo>();

    teachers.add(new Teacherinfo("00001","张三",27,"男","副教授") );

    teachers.add(new Teacherinfo("00002","李四",35,"男","教授"));

    teachers.add(new Teacherinfo("00003","王五",47,"女","副教授"));

    teachers.add(new Teacherinfo("00004","赵六",29,"男","教授"));

    teachers.add(new Teacherinfo("00005","孙七",28,"男","副教授"));

    return teachers;

  }

  public Teacherinfo getTeacher(String sno){

    Teacherinfo t=null;

    for(Teacherinfo teacher:teachers){

      if (teacher.getTno().equals(sno))

       {t=teacher;break;}

    }

    return t;

  }

  public static void main(String[] args) {

  }

}

思考:

此处的数据来源是集合对象,如果更换成数据库中数据,此程序在更改时,需要修改哪

些代码?哪些代码可以保持不变?

teachers.jsp源码:

显示教师列表时,可将教师编号作为每一行的超级链接中的参数。

<%@ page language="java" contentType="text/html; charset=utf-8"

 pageEncoding="utf-8"%>

<%@ page import="payroll.*" %>

<%@page import="JAVA.util.*" %>

<!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=utf-8">

  <title>Insert title here</title>

 </head>

 <body>

 <%

  ManageTeachers m= new ManageTeachers();

  ArrayList<Teacherinfo> teachers = m.getAllTeachers();

 %>

 <table>

  <tr>

   <th>序号</th>

   <th>姓名</th>

   <th>详情</th>

  </tr>

  <%

  for( int i=0 ;i<teachers.size();i++){

    %>

   <tr>

   <td>第<%=i+1 %>个<br></td>

   <td><%=teachers.get(i).getTeachername()%></td>

   <td><a href =teacher.jsp?tno=<%=teachers.get(i).getTno() %>>进入</a></td>

    </tr>

     <%

      }

     %>

   </table>

  </body>

</html>

teacher.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@ page import="payroll.*" %>

<%@page import="java.util.*" %>

<!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=UTF-8">

 <title>Insert title here</title>

 <link href ="css/page.css" rel="stylesheet" type="text/css" />

</head>

<body>

<%

 request.setCharacterEncoding("UTF-8");

 String tno = request.getParameter("tno");

%>

<%

 ManageTeachers m= new ManageTeachers();

 ArrayList<Teacherinfo> teachers = m.getAllTeachers();

 Teacherinfo teacher= m.getTeacher(tno);

%>

您的编号是:<%=teacher.getTno()%><br>

您的姓名是:<%=teacher.getTeachername() %><br>

您的年龄是:<%=teacher.getAge() %><br>

您的性别是:<%=teacher.getSex() %><br>

您的职称是:<%=teacher.getTitle() %><br>

<a href =teachers.jsp>>返回教师列表</a>

</body>

</html>



测试题

完成班级学生信息列表导航与详情页面设计。要求:

(1)编写类

编写一个类Student,位于pack包中,具有6个属性:sno、sname、age、sex、sclass、photo

编写一个管理类:ManagerStudents

提供至少两个方法:

①获取全部教师数据。(此处假设5个学生数据(本班的5个同学数据)已经从数据库获得,并作为5个Studnet对象全部由ArrayList管理)getAllStudents方法即是通过ArrayList获得所有的教师数据。

②根据学生编号查询学生全部信息。

getStudnet方法通过编号在ArrayList中查询,获得编号对应的学生详情信息。

(2)编写页面

设计第一个页面用于显示这5个学生师姓名,并且提供超级链接:可进一步查看详情

设计第二个页面用于显示详情。详情包括:编号、姓名、年龄、性别、班级、个人照等。

其中,个人照的实现细节提示:

<!--全部。使用统一类型格式的照片例如png,

放置在WebContent->img文件夹中

         将照片的文件名全部设为相应的编号值,注意扩展名也需要 ,例如00001.png

        -->

<%

String s = "00001";

s = s + ".png";

%>

<img alt="" height=100px width=70px src="img/<%=s%>">




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