一、需求分析

做一个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代码

              略

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

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

            

     

最新文章

  1. 北京电子科技学院(BESTI)实验报告5
  2. PHP DOS漏洞的新利用:CVE-2015-4024 Reviewed
  3. 图像柔光效果(SoftGlow)的原理及其实现。
  4. caffe学习系列(6):其他层介绍
  5. 解决phpcms V9 推荐位无法排序
  6. python中那些双下划线开头得函数和变量--转载
  7. web网页的表单排版利器--960css
  8. mksquash_lzma-3.2 编译调试记录
  9. 那些年被我坑过的Python——玄而又玄(第六章 面向对象编程基础)
  10. DBHelper 类(网上收集)
  11. 转: cmd和amd的区别
  12. TOP按钮
  13. linux下文件共享的几种常用方式
  14. 【Python】【Flask】前端调用后端方法
  15. hdoj1043 Eight(逆向BFS+打表+康拓展开)
  16. 2018.10.09 NOIP模拟 世界杯(图论+set优化)
  17. 最全面的 Android 编码规范指南
  18. 利用ansible来做kubernetes 1.10.3集群高可用的一键部署
  19. Hadoop基础-HDFS数据清理过程之校验过程代码分析
  20. 解决数据库里表字段带下划线,实体类转小驼峰,Mapper的映射问题

热门文章

  1. Release Python Program as exe
  2. transformer模型解读
  3. solr 分析器
  4. LeetCode(75) Sort Colors
  5. 一份快速实用的 tcpdump 命令参考手册
  6. luogu4168 [Violet]蒲公英
  7. 【Codeforces 1108E1】Array and Segments (Easy version)
  8. NYOJ-673悟空的难题~~水题~~
  9. 使用cURL和用户名和密码?
  10. iOS-runtime-objc_setAssociatedObject(关联对象以及传值)