纯servlet的jsp写法

大纲:一、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>
posted @ 2012-08-12 13:00  一堆黄瓜  阅读(920)  评论(0编辑  收藏  举报