创建一个学生信息表,与页面分离

一、需求分析

做一个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.建立1个实体类:StudnetInfo.java

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

  创建对应的命名:id,name,classes,place

public class StudentInfo {
//编号
private String id;
//姓名
private String name;
//班级
private String classes;
//籍贯
private String 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<StudentInfo> getAllStudents();
}

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.setName("李伟铭");
si2.setName("王显军");
si3.setName("大头");
//把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代码

<table width="70%" border="0" cellspacing="1" cellpadding="1" align="center" bgcolor="#000099">
<tr bgcolor="#FFFFFF">            
<td>编号</td>
<td>名字</td>
<td>班级</td>
<td>籍贯</td>
</tr>
<% 
StudentService stuService = new StudentServiceImpl();
List<StudentInfo> stuList = stuService.getAllStudents();
for(StudentInfo student:stuList){
%>
<tr bgcolor="#FFFFFF">
<td><%=student.getId()%></td>
<td><%=student.getName()%></td>
<td><%=student.getClasses()%></td>
<td><%=student.getPlace()%></td>
</tr>
<%    
}
%>
</table>

看图分析:

 

 

 

 


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity】材质基础

【Unity】材质基础 a.基本概念 b.Albedo Maps反射率贴图 c.Alpha Maps着色器shader下四大渲染模式 d.Metallic and Smoothness Maps e.Normal Maps法线贴图 f.Height Maps g.Occlusion Maps h.Emission Maps i.Detail Mask & Secondary Maps j.Standard 金属/Standard&…

DictVectorizer中的fit_transform

导入特征提取化中的字典向量化 from sklearn.feature_extraction import DictVectorizer dv DictVectorizer () x_train dv.fit_transform(x_train) x_test dv.fit_transform(x_test) 此处的fit是找到当前字典中的键 举个例子&#xff1a; 如果x_test不fit,那x_test只能转化…

Java中的三态布尔值

我不时地想念Java中SQL的三值BOOLEAN语义。 在SQL中&#xff0c;我们有&#xff1a; TRUE FALSE UNKNOWN &#xff08;也称为NULL &#xff09; 时不时地&#xff0c;我希望自己也能用Java表达这种UNKNOWN或UNINITIALISED语义&#xff0c;而普通的true和false还不够。 实现…

阻塞分析

--阻塞 /*********************************************************************************************************************** 阻塞&#xff1a;其中一个事务阻塞&#xff0c;其它事务等待对方释放它们的锁,同时会导致死锁问题。 整理人&#xff1a;中国风(R…

科学计算机二进制算法,计算机是怎么理解二进制的?

计算机是怎么理解二进制的?计算机的发明最初纯粹是为了计算数字, 让一个机器能够通过输入不同的数字, 进行加减乘除等. 首先要约定好机器能处理的数是什么样的, 即输入是什么样的, 才能去制造计算机. 二进制只是一种尝试, 十进制也有科学家尝试过, 但由于复杂程度较二进制要高…

OpenCV人脸特效制作

https://blog.csdn.net/zxc024000/article/details/50456917 https://blog.csdn.net/huanghuangjin/article/details/81666134 DLibOpenCV 脸部跟踪张贴小物件(遮盖眼部或者眼睛变大) 所以首先需要人脸识别&#xff0c;然后再类似GAN之类的进行处理或生成 https://wysaid.org/9…

abp.event.on与abp.event.off使用

apb的全局事件 var eventName "app.createOrEditFieldModalSaved";var reloadPage function () { dt.ajax.reload();};abp.event.on(eventName, reloadPage); //弹窗关闭事件_modalManager.onClose(function () {//注销事件&#xff0c;要不然多次打开列表后&…

为JavaOne 2014做好准备!

保持那个想法&#xff01; 是的……我希望我能在Java One 2014上做演讲-但我现在只值得在梦里做到这一点&#xff01; 但是&#xff0c;没有什么阻止我遵循Java One并跟踪有关我最喜欢的主题的会话/对话。 我希望甲骨文能够像我们2013年版那样&#xff0c;像我们这样的凡人在网…

WPF 实现ScrollViewer的垂直偏移滚动跳转

问题&#xff1a;考虑屏幕大小&#xff0c;一般都是会在表单问卷的页面使用ScrollViewer。问卷中问题漏填漏选时&#xff0c;在提交时校验不过&#xff0c;需要滚动跳转至漏填漏选项。 页面如下&#xff1a; 每个选项使用StackPanel&#xff0c;并对复选框和单选的勾选事件进行…

13 个应该记住的最不寻常的搜索引擎

13 个应该记住的最不寻常的搜索引擎 如果你通过Digg或其他社会化媒体网站&#xff0c;向世界传播&#xff0c;我会非常感激&#xff0c;您对此文的随手评论会让此文展示在更多人面前。谢谢 你已经天天使用一些常见的搜索引擎&#xff0c;象 Google&#xff0c;Msn&#xff0c;Y…

限制 计算机中 某用户上网 win7,Win7旗舰版怎么限制孩子的上网时间?电脑限制孩子上网时间的方法...

Win7旗舰版怎么限制孩子的上网时间&#xff1f;我们在家里有孩子的时候非常害怕孩子沉迷与网络&#xff0c;不把心思放在学习上。所以会想方设法的限制孩子上网。那么我们怎么使用电脑的自带的功能限制孩子上网呢&#xff1f;下面小编就带着大家一起看一下吧&#xff01;设置管…

第八章(三)基于Listcheck适配器的访问控

denier适配器访问控制比较死板。Listchecker的适配器更加灵活。 定义handler: apiVersion: config.istio.io/v1alpha2 kind: listchecker metadata:name: chaos spec:overrides: ["v1","v3"] # 列表blacklist: true # 黑名单类型 定义t…

checkbox 最多选两项

<!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title>久信臻氏</title></head><body><form action"index.php" method"post"> <div> &…

论图计算

自从机械计算开始以来&#xff0c;图形概念就已经存在&#xff0c;并且在纯数学领域已经存在了数十年。 由于数据库的黄金时代&#xff0c;图形在软件工程中变得越来越流行。 图形数据库提供了一种持久化和处理图形数据的方法。 但是&#xff0c;图形数据库并不是存储和分析图形…

注册了

第一天来 转载于:https://www.cnblogs.com/mayanshuang/archive/2008/07/26/1251934.html

html 拼接onmouseout,HTML onmouseout事件用法及代码示例

将鼠标指针移出元素或其子元素时&#xff0c;将发生HTML DOM onmouseout事件。用法:在HTML中&#xff1a;在JavaScript中&#xff1a;object.onmouseout function(){myScript};在JavaScript中&#xff0c;使用addEventListener()方法&#xff1a;object.addEventListener(&quo…

Windows PowerShell Cookbook

Windows PowerShell Cookbook转载于:https://www.cnblogs.com/gavinhughhu/archive/2009/12/29/1634652.html

7 selenium 模块

selenium 模块 一.简介 1.Python的一个第三方库&#xff0c;对外提供的接口可以操作浏览器&#xff0c;然后让浏览器完成自动化的操作。 2.自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器&#xff0c;完全…

vue-resource

安装npm install vue-resource引入import VueResource from vue-resource;Vue.use(VueResource);使用get方法this.$http.get("http://localhost/test.php").then( function (res) { // 处理成功的结果 console.log(res.body); },function (res) { // 处理失败的结果 …

针对新手的Java EE7和Maven项目-第3部分-定义ejb服务和jpa实体模块

从前面的部分恢复 第1部分 第2部分 我们在第三部分继续介绍&#xff0c;我们已经有一个父pom&#xff0c;并且已经为我们的war模块定义了pom。 在我们的原始设置中&#xff0c;我们定义了我们的应用程序将包含一个ejb jar形式的服务jar。 这是我们的Enterprise Java Bean&…