手把手教你如何在JSP页面显示数据库的表单

1.结果显示

和数据库中显示相差无几,如果利用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">获取</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"%>

发布了30 篇原创文章 · 获赞 1 · 访问量 748

猜你喜欢

转载自blog.csdn.net/nairuozi/article/details/103391186