1.結果顯示
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2csAHczIWMKhVYoVjMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL2YDO3UjM0cTM0AjMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
和資料庫中顯示相差無幾,如果利用CSS樣式可以顯示得更漂亮。
2.思路總結
在一個頁面上寫一個連結,連結到實作功能的Servlet——》Servlet中實作資料庫的連結和資料擷取——》在新的頁面顯示擷取的資料
3.
- 首先寫第一個頁面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>地區擷取</title>
</head>
<body>
<a href="./GetServlet" target="_blank" rel="external nofollow" >擷取</a>//點選跳轉到Servlet
</body>
</html>
- Servlet中要做的事:1.連結到目标資料庫2.用select語句擷取全部資料3.利用list存儲所有資料4.利用request傳值到下一個頁面
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import com.zzxt.util.DbUtil;
import sun.jd.role.Area;
@WebServlet("/GetServlet")
public class GetServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
protected void doGet(HtttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{
Connection conn=(Connection) DbUtil.getDbconnn();//DbUtil工具會在之後的部落格寫出
try{
Statment stat=(Statement)conn.creatStatement();
ResultSet rs=null; //資料集
String sql="select * from area"; //書寫sql語句
rs.executeQuery(sql); //執行sql語句
List<Area> list=new Arraylist<Area>(); //<>中是建立出的類對象,其内屬性與表中屬行一一對應
while(rs.next()){
list.add(new Area(rs.getString("id"),rs.getString("code"),rs.getString("name"),rs.getString("parent_code")));
}
request.setAttribute("areas",list); //傳入對象和設定key值
request.getRequestDispatcher("form.jsp").forward(request,response); //設定跳轉頁面
}catch (SQLException e) {
e.printStackTrace();
}
}
- 在form.jsp頁面顯示擷取到的值(同樣用到了EL和JSTL)
<%@ 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>Area</title>
</head>
<body>
<table>
<tr>
<th>name</th><th>id</th><th>code</th><th>parentCode</th>
</tr>
<c:forEach var="area" items="${areas}">
<tr>
<td>
${area.id}
</td>
<td>
${area.name}
</td>
<td>
${area.code}
</td>
<td>
${area.parentCode}
</td>
</tr>
</c:forEach>
</table>
</body>
</html>
attention:一定要在引包後在表頭裡寫<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>