大纲:一、servlet类
二、web.xml
=====servlet类==========================================
package com.smud.servlet; 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 com.smud.dao.MapDAO; import com.smud.dao.impl.MapDAOImpl; import com.smud.model.Map; public class MapListServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //查询所有的地图信息 MapDAO dao = new MapDAOImpl(); List<Map> list = dao.select(); //将学员信息保存到request对象中 request.setAttribute("list",list); //下一行的作用是带着request对象进行转发,这里的jsp页面相当于模板文件 request.getRequestDispatcher("/AuthorManager/map/MapLib.jsp").forward(request, response); } }
注:
一、我们写的servlet类实际上是继承了HttpServlet ,所以感觉是可以单独作为一个web页面的形式存在。
二、request.getRequestDispatcher(url).forward(request,response)是直接将请求转发到指定URL,所以该请求
能够直接获得上一个请求的数据,也就是说采用请求转发,request对象始终存在,不会重新创建。
=====web.xml==========================================
<servlet> <servlet-name>MapAddServlet</servlet-name> <servlet-class>com.smud.servlet.MapAddServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MapAddServlet</servlet-name> <url-pattern>/map/mapAddServlet</url-pattern> </servlet-mapping> <servlet><!-- 读取地图列表 2012-08-11--> <servlet-name>MapListServlet</servlet-name> <servlet-class>com.smud.servlet.MapListServlet</servlet-class> </servlet> <servlet-mapping><!-- 读取地图列表 --> <servlet-name>MapListServlet</servlet-name> <url-pattern>/map/mapListServlet</url-pattern> </servlet-mapping>
注:<servlet-class>是指servlet类的位置
<url-pattern>是指servlet类的url地址
===附:jsp“模板”MapLib.jsp文件=====================================
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="java.util.*" %> <%@ page import="com.sss.model.Map" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'MapLib.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <link rel="stylesheet" type="text/css" href="styles.css"> </head> <body> <form id="form1" name="form1" method="post" action=""> <!-- 全部map暂列处 --> <table border="1"> <tr> <td>地图名称</td> <td>地图描述</td> <td>根</td> <td>标签</td> <td>父级ID</td> </tr> <% List<Map> list = (List<Map>)request.getAttribute("list"); for(int i=0;i<list.size();i++){ Map map = list.get(i); %> <tr> <td><%= map.getMapName()%></td> <td>地图描述<%= map.getDepict()%></td> <td>根<%= map.getIsRootMap()%></td> <td>标签<%= map.getLable()%></td> <td>父级ID<%= map.getParentMapID()%></td> </tr> <% } %> </table> </body> </html>