如果要响应一个页面格式,用servlet的话,就需要按照html的格式进行拼接.像下面红色部分一样.
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* 设置字符型响应
*/
public class ResponseCharacterServler extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置响应类型
//resp.setContentType("text/plain;charset=utf-8");
resp.setCharacterEncoding("utf-8");
PrintWriter pw = resp.getWriter();
pw.println("<!DOCTYPE html>");
pw.println("<html lang=en>");
pw.println("<head>");
pw.println("<meta charset=UTF-8>");
pw.println("<title>Document</title>");
pw.println("</head>");
pw.println("<body>");
pw.println("<font color=blue>程序员</font>");
pw.println("</body>");
pw.println("</html>");
pw.flush();
pw.close();
}
}
JSP的话,就是在tomcat里面做了个专门的模块,可以在xxx.jsp文档里面像html一样做格式编辑,同时又可以在里面写java代码,具体来讲就是servlet代码.
有类似servlet一样的启动对象,可以做相应的逻辑处理.
可以直接开放给客户端响应,也可以作为servlet的转发方向.forward(req, resp);
在JSP里面可以引入JSTL标签库,替换servlet原始标签,更加灵活的处理页面数据.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<table border="1" align="center">
<tr>
<th>用户ID</th>
<th>用户姓名</th>
</tr>
<c:forEach items="${list}" var="u">
<tr>
<td>${u.userid}</td>
<td>${u.username}</td>
</tr>
</c:forEach>
</table>
</body>
</html>