1、jsp保护起来 2、通过servlet转发到jsp servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模
1、jsp保护起来
2、通过servlet转发到jsp
- servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用
- 让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。
- 让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。
- 因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做
java代码
TableBean
import java.util.ArrayList; import java.util.List; public class TableBean { public List<String> getList() { List<String> stringList = new ArrayList<String>(); stringList.add("杰克"); stringList.add("马利"); stringList.add("西西"); stringList.add("瘦瘦"); return stringList; } }
import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import cn.itcast.web.domain.TableBean; public class TableServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { //调用模型对象 TableBean tableBean = new TableBean(); List<String> stringList = tableBean.getList(); //绑定到域对象 request.setAttribute("stringList",stringList); //转发到jsp页面 request.getRequestDispatcher("/WEB-INF/table.jsp").forward(request,response); } }
jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> <% //取得域对象中的内容 List<String> stringList = (List<String>)request.getAttribute("stringList"); %> <table border="1" align="center"> <caption>学员信息</caption> <tr> <th>姓名</th> <td>操作</td> </tr> <% for(String username : stringList){ %> <tr> <th><%=username%></th> <td><a href="#">查看</a></td> </tr> <% } %> </table> </body> </html>