zoukankan      html  css  js  c++  java
  • jsp_类的封装_集合的应用

    一、需求分析

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

                  略

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

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

                

         

  • 相关阅读:
    在公司中使用springboot技术的经验
    使用swagger2代替api文档
    第一份正式工作-华为外包。
    zookeeper学习入门
    dubbo入门
    C/C++编程笔记:inline函数的总结!C/C++新手值得收藏!
    刚毕业入职程序员?程序员需注意这 6 点!都是前辈“血的教训”
    你在群里提的技术问题没人回答!是为什么?因为没注意这 4 点!
    程序人生:程序员想要提升英文阅读能力怎么办?实用秘籍推荐!
    程序员必看:长期工作的程序员转眼变油腻大叔!你今天护肤了吗?
  • 原文地址:https://www.cnblogs.com/wangpengpeng/p/6867766.html
Copyright © 2011-2022 走看看