一、需求分析

做一个jsp页面,动态显示信息表的内容。

1.做一个实体类:StudentInfo(包含4个字段)

2.如图模拟生成3条数据,本质上就是new StudentInfo 3个实例,

 每一个实例代表一行记录(后面这3条记录放到数据库,本例暂时不处理)

3.处理这3条数据的过程,不用考虑界面(采用Java代码与jsp UI页面分离)

 编写一个类和方法,处理数据问题,返回值为List<StudentInfo> 

 把3条数据(StudentInfo)也就是3个StudentInfo的实例,把它们添加到List中

换句话说,就是这个List就是代表这个数据集合。

 注意:   

  a、  此类为业务类(处理业务逻辑的类),要养成习惯:先写接口

  b、  调用者使用此类时,应该不不关心谁是实现类,只关心接口以及其API

4.把整个List,丢给jsp用于显示数据,呈现出一个表格的状态。

二、具体的操作流程

  1、先写实体类

    a.建包(entity)

    

    b.建立一个实体类:StudentInfo.java

    

    

c.对实体例,添加私有的属性,属性应该跟二维表的字段一一对应id,name,classes,place

    d.一键生成get,set,部分代码如下:   

public String getId() {

        return id;
}
public void setId(String id) {         this.id = id;
} 

    2.建立一个业务逻辑的接口以及实现类

      a.新建包service

        

      b.建立接口StudentService.Java

public interface StudentService{

        //有多少个业务逻辑,就设计多少个方法

         public List<> getAllStudenta();

        }

      c.建立一个实现类StudentServiceImpl.java

       需要:implements StudentService这个接口     

       

public class StudentServiceImpl implements StudentService {

       }

      d.未实现的方法

        

       

@Override

          public List<StudentInfo> getAllStudents() {

                //业务逻辑代码写在这里

                return null;

          }  
具体代码如下:

          @Override

          public List<StudentInfo> getAllStudents() {

              //存放所有学生信息的数据集合

              List<StudentInfo> stuList = new ArrayList<StudentInfo>();

              //模拟从数据库取出3条学生信息

              StudentInfo si1 = new StudentInfo();

              StudentInfo si2 = new StudentInfo();

              StudentInfo si3 = new StudentInfo();

            si1.setId("1");
            si1.setId("2");
            si1.setId("3");
            si1.setName("国辉");
            si2.setName("晓杰");
            si3.setName("杰灏");
            si1.setClasses("140");
            si2.setClasses("140");
            si3.setClasses("140");
            si1.setPlace("江西");
            si2.setPlace("广东");
            si3.setPlace("广东");       //把3个学生存放到List集合中去       stuList.add(si1);       stuList.add(si2);       stuList.add(si3);       return stuList;       }

      3.创建一个jsp页面,调用Service获取数据集List

        a.新建jsp页面

          

        b.调用Service

测试代码如下:

            <%

            StudentService stuService = new StudentServiceImpl();

            List<StudentInfo> stuList = stuService.getAllStudents();

            out.println(stuList.size());

            %>

            修改一下代码,遍历集合(for)

            <%

            StudentService stuService = new StudentServiceImpl();

            List<StudentInfo> stuList = stuService.getAllStudents();

            for(StudentInfo student:stuList){

                  out.println(student.getName()+"<br>");

            }

            %>

            c.修改jsp页面的html代码

              略

      励志话语:不经风雨,怎见彩虹?把握现在、就是创造未来。

            今天多一份拼搏、明天多几份欢笑。加油!

            

     

jsp_类的封装_集合的应用的更多相关文章

  1. C++类的封装_工程

    一个C++工程 main.cpp #include<stdio.h> #include"Array.h" int main(){     Array a1(10); f ...

  2. Java精选笔记_集合概述(Collection接口、Collections工具类、Arrays工具类)

    集合概述 集合有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体.集合被用于存储.获取.操纵和传输聚合的数据. 使用集合的技巧 看到Array就是数组结构,有角标,查询速 ...

  3. 022医疗项目-模块二:药品目录的导入导出-对XSSF导出excel类进行封装

    资源全部来源于传智播客. 好的架构师写的程序,就算给刚入门的新手看,新手一看就知道怎么去用.所以我们要对XSSF导出excel类进行封装.这是架构师的工作,但我们也要知道. 我们写一个封装类: 这个类 ...

  4. [工具类]DataTable与泛型集合List互转

    写在前面 工作中经常遇到datatable与list,对于datatable而言操作起来不太方便.所以有的时候还是非常希望通过泛型集合来进行操作的.所以这里就封装了一个扩展类.也方便使用. 类 方法中 ...

  5. C++(二十五) — 类的封装、实现

    1.类的封装.实现.对象的定义及使用 (1)类是一组对象的抽象化模型.类对象将数据及函数操作集合在一个实体中,只需要接口,而不需要知道具体的操作. 隐藏细节,模型化: 类内自由修改: 减少耦合,相当于 ...

  6. 抽象类,接口类,封装,property,classmetod,statimethod

    抽象类,接口类,封装,property,classmetod,statimethod(类方法,静态方法) 一丶抽象类和接口类 接口类(不崇尚用) 接口类:是规范子类的一个模板,只要接口类中定义的,就应 ...

  7. 孤荷凌寒自学python第二十三天python类的封装

    孤荷凌寒自学python第二十三天python类的封装 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.从怎么样访问类的内部代码块中定义的私有属性说起 类中定义的私有属性和私有方法是无法被 ...

  8. Java面向对象(类、封装)

    面向对象 今日内容介绍 u 面向对象 u 封装 第1章 面向对象 1.1 理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. l 面向过程的程序设计方式,是遇到一 ...

  9. python 类的封装/property类型/和对象的绑定与非绑定方法

    目录 类的封装 类的property特性 类与对象的绑定方法与非绑定方法 类的封装 封装: 就是打包,封起来,装起来,把你丢进袋子里,然后用绳子把袋子绑紧,你还能拿到袋子里的那个人吗? 1.隐藏属性和 ...

随机推荐

  1. AF_NETLINK

    读procd时,hotplug相关. 从网上资料来看,大概和硬件输入有关? 资料:http://www.cnblogs.com/sammei/p/4119659.html

  2. 【转】如何在命令行脚本中启动带参数的Windows服务

    我们有一个自己编写的Windows服务,我们希望该服务在启动时可以根据用户输入的参数实现不同的功能. 要实现这样的需求并不是很难,下面这个例子我用来示范如何编写该服务 using System; us ...

  3. 关于构造函数什么值传递给他的实例,只有this和prototype

    var a= function (){var bb = 12; this.aa ="xxx"}; a.aa="www"; a.prototype.cc=&quo ...

  4. IDEA+Tomcat热部署自动编译

    https://www.cnblogs.com/1024zy/p/6344000.html 之前太傻瓜了,一直以为用了IDEA改了类或者js的时候全都要手动构建发布,其实不用,IDEA这么好的工具怎么 ...

  5. 两行代码快速创建一个iOS主流UI框架

    本框架适用于 使用 NavigationController+UITabBarController 的APP 框架QLSNavTab , GitHub地址:https://github.com/qia ...

  6. 洛谷P3094 [USACO13DEC]假期计划Vacation Planning

    题目描述 有N(1 <= N <= 200)个农场,用1..N编号.航空公司计划在农场间建立航线.对于任意一条航线,选择农场1..K中的农场作为枢纽(1 <= K <= 100 ...

  7. 视图中 jquery 使用data属性

    示例:<input id='username' data-id="{$val['id']}" data-userName="{$val['name']}" ...

  8. 洛谷——P3225 [HNOI2012]矿场搭建

    P3225 [HNOI2012]矿场搭建 题目描述 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处.于是矿主决定在某些挖煤 ...

  9. POJ 3230 【DP】

    题意: 某货旅行,在n个城市呆m天. 给出从第i个城市到第j个城市的路费,或者留在某个城市的生活费. 给出在第i天在第j个城市的收益. 可以在城市之间任意穿梭逗留没有其他特殊要求. 求收益最大是多少. ...

  10. POJ 3013 【需要一点点思维...】【乘法分配率】

    题意: (这题明显感觉自己是英语渣) 给n个点从1到n标号,下面一行是每个点的权,另外给出m条边,下面是每条边的信息,两个端点+权值,边是无向边.你的任务是选出一些边,使这个图变成一棵树.这棵树的花费 ...