-
为什么要使用JSP
之前做练习的时候,请求数据库所有数据并展示到浏览器上,发现一个问题:Servlet在处理请求的时候挺好用,但在回传响应的时候,通过Servlet的resp的输出流往浏览器输出html格式的内容,却十分的麻烦。
因此我们需要一个展示数据方便的东西----------JSP
servler用来获取数据处理业务 servlet是.java文件,擅长处理java代码
jsp展示数据 处理html文件 -
什么是JSP
JAVA SERVER PAGES java的动态网页
请求流程图
jsp三大指令
page指令
指定编码<%@ page contentType="text/html;charset=UTF-8" language="java" %>
include指令
包含指定的页面<%@include file="页面"%>
taglib
在当前jsp页面中导入第三方的标签库<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
-
如何使用JSP
servlet 接受请求 调用dao获取数据库数据
jsp 展示数据库中数据 响应给浏览器
servlet+jsp实战练习
EmployeeServlet
public class EmployeeServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取数据库中的数据
IEmployeeDAO dao=new EmployeeDAOImpl();
List<Map<String, Object>> list = dao.getAllEmployee();
//请求共享数据
req.setAttribute("date",list);
//请求转发到某个jsp
req.getRequestDispatcher("Employee.jsp").forward(req,resp);
}
}
Employee.jsp文件
<%--jsp的page指令--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>员工首页</title>
</head>
<body>
<%--获取共享数据 用java代码获取共享的数据 共享数据的时候用request 需要手动强转类型--%>
<%List<Map<String,Object>>list= (List<Map<String, Object>>) request.getAttribute("date");%>
<table border="1px" cellspacing="0" width="300px">
<tr>
<th>id</th>
<th>name</th>
<th>age</th>
<th>salary</th>
<th>sex</th>
</tr>
<%--通过java的 for循环 将 list遍历 并取出数据展示--%>
<%for(Map map:list){%>
<tr>
<td><%=map.get("id")%></td>
<td><%=map.get("name")%></td>
<td><%=map.get("age")%></td>
<td><%=map.get("salary")%></td>
<td><%=map.get("sex")%></td>
</tr>
<%}%>
</table>
</body>
</html>
页面展示