作一個jsp頁面,動態顯示信息表的內容。html
一、 作一個實體類:EmployeeInfo (包含4個字段)java
二、 如圖模擬生成3條數據,本質上就是new EmployeeInfo 3個實例,數據庫
每一個實例表明一行記錄(後面這3條記錄放到數據庫,本例暫時不處理)apache
三、 處理這3條數據的過程,不用考慮界面(採用java代碼與jsp UI頁面分離)瀏覽器
編寫一個類和方法,處理數據問題,返回值爲List<EmployeeInfo>tomcat
把3條數據(EmployeeInfo)也就是3個EmployeeInfo的實例,把它們添加到List中框架
換句話說,就是這個List就是表明這個數據集合。jsp
注意:ide
a、 此類爲業務類(處理業務邏輯的類),要養成習慣:先寫接口學習
b、 調用者使用此類時,應該不不關心誰是實現類,只關心接口以及其API
把整個List,丟給jsp用於顯示數據,呈現出一個表格的狀態
一、File --> New --> Dynamis Web Project
二、建包(entity)
Students --> src --> 右鍵 --> New --> package -->entity
三、創建1個實體類:EmployeeInfo.java
entity --> 右鍵 --> New --> Class
四、對實體例,添加私有的屬性,屬性應該跟二維表的字段一一對應
五、一鍵生成get,set
StudnetInfo.java -- 右鍵 --> Source --> Generate Geters and Setter.....
一、先建包service
Students --> src --> 右鍵 --> New --> package -->service
二、創建接口EmployeeService.java
service --> 右鍵 --> New --> Class --> EmployeeService
三、創建一個實現類EmployeeServiceImpl.java
service --> 右鍵 --> New --> Class --> StudentServiceImpl
四、創建一個實現類StudentServiceImpl.java
須要:implements EmployeeService這個接口
public class EmployeeServiceImpl implements EmployeeService {
}
實現未實現方法
具體代碼以下:
package service; import java.util.ArrayList; import java.util.List; import entity.EmployeeInfo; public class EmployeeServiceImpl implements EmployeeService{ @Override public List<EmployeeInfo> getAllEmployee() { List<EmployeeInfo> employeeList=new ArrayList<EmployeeInfo>(); EmployeeInfo em1=new EmployeeInfo(); EmployeeInfo em2=new EmployeeInfo(); EmployeeInfo em3=new EmployeeInfo(); em1.setId("001"); em1.setName("張三"); em1.setSex("男"); em1.setNumber("136018551"); em2.setId("002"); em2.setName("李四"); em2.setSex("男"); em2.setNumber("138511222"); em3.setId("003"); em3.setName("王五"); em3.setSex("男"); em3.setNumber("138588555"); employeeList.add(em1); employeeList.add(em2); employeeList.add(em3); return employeeList; } }
五、創建一個jsp頁面,調用service獲取數據集List
a、 新建一個jsp、 倒4個jstl的包、添加<%@ taglib prefix="c"… 、寫遍歷結果集合的代碼
(1)、 JSTL的引入可讓JSP代碼中<%%>等代碼消失掉,再結合EL表達式,會更加方便以及美觀。
(2)、各套框架(尚未學習,好比struts,SpringMVC等)都有本身的標籤庫,這時JSTL能夠做爲公共、通用的,橫行於各框架中。
操做:下載JSTL包
http://tomcat.apache.org/taglibs/
第二步:新建一個jsp頁面
WebContent ---> 鼠標右鍵 --->New ----> Jsp File
設置表頭調用JSTL包
c、調用service
測試代碼以下:
<%
EmployeeService employeeService = new EmployeeServiceImpl();
List<EmployeeInfo> employeeList=new ArrayList<EmployeeInfo>();
out.println(employeeList.size());
%>
修改一下代碼,遍歷集合(for)
<%
EmployeeService employeeService = new EmployeeServiceImp
List<EmployeeInfo> employeeList=new ArrayList<EmployeeInfo>();
for(EmployeeInfo employee:employeeInfoList){
out.println(employee.getName()+"<br>");
}
d、修改jsp頁面的html代碼
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="C"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <table width="50%" border="1" cellspacing="1" cellpadding="1" align="center"> <tr> <td>編號</td> <td>姓名</td> <td>性別</td> <td>號碼</td> </tr> <C:forEach items="${employeeInfoList}" var="h"> <tr> <td>${h.id}</td> <td>${h.name}</td> <td>${h.sex}</td> <td>${h.number}</td> </tr> </C:forEach> </table> </body> </html>
六、servlet的引入
這是修改後模式:MVC模式
servlet的使用:
七、創建actoin包
在doGet方法中寫代碼;
a. 呼叫service
b. 把結果集List放到request對象
跳轉到jsp中
Students --> src --> 右鍵 --> New --> package -->action
action --> 鼠標右鍵 --> new -->Servlet
request對象包含的內容以及獲取
七、創建個主頁index.jsp
用response.sendRedirect作轉向實際上是向瀏覽器發送一個特殊的Header,而後由瀏覽器來作轉向,轉到指定的頁面,因此用sendRedirect時,瀏覽器的地址欄上能夠看到地址的變化。
八、運行項目
項目---> 右鍵----->Run As ------>Run on Server
項目結果