jsp_类的封装_集合的应用

摘要:
1.创建实体类:StudentInfo。2.模拟生成如图所示的三条数据,这基本上是newStudentInfo的三个实例。每个实例代表一行记录。3.处理这三条数据的过程,不考虑编写处理数据问题的类和方法的接口。返回值为List<StudentInfo>。将三段数据(即StudentInfo的三个实例)添加到列表中。换句话说,此列表表示此数据集。

一、需求分析

jsp_类的封装_集合的应用第1张

做一个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)

    jsp_类的封装_集合的应用第2张

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

    jsp_类的封装_集合的应用第3张

    

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

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

public String getId() {

        return id;
}
public void setId(String id) {

        this.id = id;
} 

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

      a.新建包service

        jsp_类的封装_集合的应用第4张

      b.建立接口StudentService.Java

public interface StudentService{

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

         public List<> getAllStudenta();

        }

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

       需要:implements StudentService这个接口     

       

public class StudentServiceImpl implements StudentService {

       }

       d.未实现的方法

        jsp_类的封装_集合的应用第5张

       

@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页面

          jsp_类的封装_集合的应用第6张

        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_类的封装_集合的应用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JMeter学习(一)工具简单介绍python(leetcode)-350两个数组的交集下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

分页复用代码【Page类、JSP显示页面】

前言 为了复用,记载一些以前写过的工具类、方法 page类 import java.util.List; /** * Created by ozc on 2017/3/1. */ public class Page { //保存着分页的数据 private List<...

JS和JSP的区别

js是javascript的缩写。以下是JSP与baiJS的区别和联系:du 名字:JS:JavaScript JSP:Java Server Pages 执行过程:zhiJSP先翻译,翻译成Servlet执行如: test.jsp 要变成 test_jsp.java 然后dao编译成 test_jsp.class而 test_jsp.java 本身就是一...

Web项目的WEB-INF目录使用说明以及重定向与转发

写这篇文章的原因是看到了Tomcat下面的Webapps下面的,就想看一下。 总结一下这篇文章的内容: WEB-INF下面的内容都是只能由服务器级别才能访问,客户端并不能访问。什么是客户端级别?什么是服务器级别呢? 转发就是服务器级别,浏览器的地址不会变,因为,客户端发送一个请求,服务器受理之后,发现要请求内容还要再去别的请求,那么转发就是服务器自己去处理...

JSP中字符编码转换问题

问题描述:一个input.jsp页面中的参数,传递到另外一个save.jsp页面上,然后存入到数据库中,如果input.jsp页面输入偶数中文没有问题,输入奇数则出现?,存入数据库的也是?。 问题源码:save.jsp中 <%    String fileName=request.getParameter("Name");           Sys...

【jsp】jsp中的动作元素

一,动作元素(Action):预定义的java代码。目的在于代码的可重用性。  1,为请求阶段提供信息,允许在页面之间转移控制权。  2,JSP2.0规范定义了标准动作,标准动作是一些标签,影响JSP运行时的行为和对客户请求的响应。在页面被转换为Servlet时,JSP容器遇到这些标签,就使用预先定义的对应于该标签的java代码来代替它。  3,动作元素语...

jsp经验-Listener监听

前言 Listener 的作用是用于监听 web应用的创建和销毁,以及在其上attribute发生的变化。 web应用即ServletContext对象(jsp的隐式对象application) 除了对web应用的监听外,还能监听session和request的生命周期,以及他们的attribute发生的变化。 监听 Context 对Context的监听...