zoukankan      html  css  js  c++  java
  • 实现简单的门禁查询功能

    目前对SSH框架、ajax等技术不熟,现在用jsp+servlet+javaBean实现简单的门禁查询功能,数据库用SQLserver2005  数据库名:XQMJ

    文件:DoorEvent.java(javabean);

            doorAction.java(servlet);

            DoorConnDB;

        doorManager.jsp;

        doorQuery.jsp

    需要注意几点:

    1、在查询条件选择时,select中选项直接从数据库中取得rs.next, 可以用ajax优化

    2、查询数据库时,同时用到2张表,用union连接;注意查询条件的判断

    3、数据不是很多,实现了一个假分页,直接把查询的结果放在ArrayList中,然后对其分页

    4、页面使用局部刷新,用到了iframe,注意子窗口获取父窗口的数据

    5、注意js向servlet传值和jsp向servlet传值时字符编码问题(中文乱码)

    DoorAction
    DoorEvent
    DoorConnDB
    doorManger.jsp
    doorQuery.jsp

    之二(用jstl标签+pager-taglib分页+导出Excel表格(POI控件))

    文件包括;

    DoorEvent
    package com.sino.ibms.model;
    
    import java.util.Date;
    
    public class DoorEvent {
    private Date EA_InsertDateTime;
    private String EA_Co_Name;
    private String EA_Pe_Code;
    private String EA_Pe_FirstName;
    private String EA_Pe_De_Name;
    private String EA_eventName;
    public Date getEA_InsertDateTime() {
        return EA_InsertDateTime;
    }
    public void setEA_InsertDateTime(Date eA_InsertDateTime) {
        EA_InsertDateTime = eA_InsertDateTime;
    }
    public String getEA_Co_Name() {
        return EA_Co_Name;
    }
    public void setEA_Co_Name(String eA_Co_Name) {
        EA_Co_Name = eA_Co_Name;
    }
    
    public String getEA_Pe_FirstName() {
        return EA_Pe_FirstName;
    }
    public void setEA_Pe_FirstName(String eA_Pe_FirstName) {
        EA_Pe_FirstName = eA_Pe_FirstName;
    }
    public String getEA_Pe_De_Name() {
        return EA_Pe_De_Name;
    }
    public void setEA_Pe_De_Name(String eA_Pe_De_Name) {
        EA_Pe_De_Name = eA_Pe_De_Name;
    }
    public String getEA_eventName() {
        return EA_eventName;
    }
    public void setEA_eventName(String eA_eventName) {
        EA_eventName = eA_eventName;
    }
    public String getEA_Pe_Code() {
        return EA_Pe_Code;
    }
    public void setEA_Pe_Code(String eA_Pe_Code) {
        EA_Pe_Code = eA_Pe_Code;
    }
        
    }
    DoorAction
    package com.sino.ibms.action;
    
    import java.io.IOException;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRichTextString;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    
    import com.sino.ibms.action.DoorConnDB;
    import com.sino.ibms.model.DoorEvent;
    
    @SuppressWarnings("serial")
    public class DoorAction extends HttpServlet {
    
        /**
         * Constructor of the object.
         */
        public DoorAction() {
            super();
        }
    
        /**
         * Destruction of the servlet. <br>
         */
        public void destroy() {
            super.destroy(); // Just puts "destroy" string in log
            // Put your code here
        }
    
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            this.doPost(request, response);
    
        }
    
        @SuppressWarnings({ "static-access", "deprecation" })
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            ArrayList<DoorEvent> list = new ArrayList<DoorEvent>();
    
            String cname = new String(request.getParameter("cname").getBytes(
                    "ISO-8859-1"), "utf-8");
            String pename = new String(request.getParameter("pename").getBytes(
                    "ISO-8859-1"), "utf-8");
            String eventname = new String(request.getParameter("eventname")
                    .getBytes("ISO-8859-1"), "utf-8");
            String btime = request.getParameter("btime");
            String etime = request.getParameter("etime");
    
            String flag = request.getParameter("flag");
    
            String sql = "select  EA_InsertDateTime,EA_Co_Name,EA_eventName,EA_Pe_FirstName,EA_Pe_Code,EA_Pe_DE_Name from dbo.AIC_Access_EventMessageDataAccess where 1=1   ";
            if (cname != null && !"ALL".equals(cname)) {
                sql += " and EA_Co_Name=N'" + cname + "'";
            }
    
            if (!"".equals(pename) && !"ALL".equals(pename)) {
                sql += " and EA_Pe_FirstName=N'" + pename + "'";
            }
            if (pename.equals("")) {
                sql += "  and EA_Pe_FirstName is null";
            }
    
            if (eventname != null && !"ALL".equals(eventname)) {
                sql += "  and EA_eventName=N'" + eventname + "'";
            }
    
            if ((btime != null) && (!"".equals(btime))) {
                sql += "  and convert(datetime,'" + btime
                        + "') <= convert(datetime,EA_InsertDateTime)";
            }
            if ((etime != null) && (!"".equals(etime))) {
                sql += " and convert(datetime,'" + etime
                        + "') >= convert(datetime,EA_InsertDateTime)";
            }
    
            sql += "  order by EA_InsertDateTime desc";
            DoorConnDB db = new DoorConnDB();
            ResultSet rs = db.executestatement(sql);
            if (flag.equals("toQuery")) {
    
                try {
    
                    while (rs.next()) {
                        DoorEvent de = new DoorEvent();
                        de.setEA_InsertDateTime(rs.getTimestamp(1));
                        de.setEA_Co_Name(rs.getString(2));
                        de.setEA_eventName(rs.getString(3));
                        de.setEA_Pe_FirstName(rs.getString(4));
                        de.setEA_Pe_Code(rs.getString(5));
                        de.setEA_Pe_De_Name(rs.getString(6));
                        list.add(de);
                    }
                    // request.getSession().setAttribute("list", list);
                    request.setAttribute("list", list);
                    request.setAttribute("cname", cname);
                    request.setAttribute("pename", pename);
                    request.setAttribute("eventname", eventname);
                    request.setAttribute("btime", btime);
                    request.setAttribute("etime", etime);
                    RequestDispatcher rd = request
                            .getRequestDispatcher("/page/door/doorQuery.jsp");
                    rd.forward(request, response);
                } catch (Exception e) {
                }
            } else {
                try {
                    // 获取总列数
                    int CountColumnNum = rs.getMetaData().getColumnCount();
                    int i = 1;
                    // 创建Excel文档
                    HSSFWorkbook wb = new HSSFWorkbook();
                    // sheet 对应一个工作页
                    HSSFSheet sheet = wb.createSheet("巡更表中的数据");
                    HSSFRow firstrow = sheet.createRow(0); // 下标为0的行开始
                    HSSFCell[] firstcell = new HSSFCell[CountColumnNum];
                    String[] names = new String[CountColumnNum];
                    names[0] = "钮号";
                    names[1] = "人员";
                    names[2] = "地点";
                    names[3] = "巡检时间";
                    names[4] = "棒号";
                    names[5] = "事件";
                    for (int j = 0; j < CountColumnNum; j++) {
                        firstcell[j] = firstrow.createCell((short) j);
                        firstcell[j].setCellValue(new HSSFRichTextString(names[j]));
                    }
                    while (rs.next()) {
                        // 创建电子表格的一行
                        HSSFRow row = sheet.createRow(i); // 下标为1的行开始
                        for (int j = 0; j < CountColumnNum; j++) {
                            // 在一行内循环
                            HSSFCell cell = row.createCell((short) j);
                            // 设置表格的编码集,使支持中文
                            // // 先判断数据库中的数据类型
                            // 将结果集里的值放入电子表格中
                            cell.setCellValue(new HSSFRichTextString(rs
                                    .getString(j + 1)));
                        }
                        i++;
                    }
    
                    response.setHeader("Content-Disposition",
                            "attachment;filename=xungeng.xls");
                    response.setHeader("Content-Type", "application/vnd.ms-excel");
    
                    wb.write(response.getOutputStream());
                    System.out.println("数据库导出成功");
    
                } catch (SQLException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }
        }
    
        public void init() throws ServletException {
            // Put your code here
        }
    
    }
    DoorlistAction
    package com.sino.ibms.action;
    
    import java.io.IOException;
    import java.sql.ResultSet;
    import java.util.ArrayList;
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.sino.ibms.model.DoorEvent;
    
    public class DoorListAction extends HttpServlet {
    
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
    
        /**
         * Constructor of the object.
         */
        public DoorListAction() {
            super();
        }
    
        
        public void destroy() {
            super.destroy(); // Just puts "destroy" string in log
            // Put your code here
        }
    
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            this.doPost(request, response);
        }
    
        @SuppressWarnings("static-access")
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            ArrayList<DoorEvent> cNamelist = new ArrayList<DoorEvent>();
            ArrayList<DoorEvent> pelist = new ArrayList<DoorEvent>();
            ArrayList<DoorEvent> eventlist = new ArrayList<DoorEvent>();
            DoorConnDB db = new DoorConnDB();
            String sql1 = "select distinct EA_Co_Name from AIC_Access_EventMessageDataAccess";
            String sql2 = "select distinct EA_Pe_FirstName from AIC_Access_EventMessageDataAccess";
            String sql3 = "select distinct EA_eventName from AIC_Access_EventMessageDataAccess";
            ResultSet rs1 = db.executestatement(sql1);
            ResultSet rs2 = db.executestatement(sql2);
            ResultSet rs3 = db.executestatement(sql3);
            try {
    
                while (rs1.next()) {
                    DoorEvent de1 = new DoorEvent();
                    de1.setEA_Co_Name(rs1.getString(1));
                    cNamelist.add(de1);
                }
                while (rs2.next()) {
                    DoorEvent de2 = new DoorEvent();
                    de2.setEA_Pe_FirstName(rs2.getString(1));
                    pelist.add(de2);
                }
                while (rs3.next()) {
                    DoorEvent de3 = new DoorEvent();
                    de3.setEA_eventName(rs3.getString(1));
                    eventlist.add(de3);
                }
    
                request.setAttribute("cNamelist", cNamelist);
                request.setAttribute("pelist", pelist);
                request.setAttribute("eventlist", eventlist);
                RequestDispatcher rd = request
                        .getRequestDispatcher("/page/door/doorManager.jsp");
                rd.forward(request, response);
            } catch (Exception e) {
                System.out.println("网络连接出现故障");
                RequestDispatcher rd = request
                        .getRequestDispatcher("/error.jsp");
                rd.forward(request, response);
            } finally {
                db.dbclose();
            }
        }
    
        public void init() throws ServletException {
            // Put your code here
        }
    
    }
    DoorConnDB
    package com.sino.ibms.action;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class DoorConnDB {
        public static  Connection con=null;
        public static  ResultSet rs=null;
        public static Connection getConn() throws SQLException{
            try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String url="jdbc:sqlserver://127.0.0.1:1433;databaseName=NewAICDatabase";
            con=DriverManager.getConnection(url,"sa","123456");
            
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return con;
        }
        
        public static ResultSet executestatement(String sql){
            
            try {
                 con=getConn();
                 rs=con.prepareStatement(sql).executeQuery();
            
            } catch (SQLException e) {
                System.out.print("数据库查询处出现问题");
                e.printStackTrace();
            }
            return rs;
        }
        
          public static  void dbclose()
          {
              try {
                  if(rs!=null){
                      rs.close();
                  }
                  if(con!=null){
                      con.close();
                  }
            } catch (SQLException e) {
                // TODO 自动生成 catch 块
                e.printStackTrace();
            
            }
        
          }
        /*  example
          @SuppressWarnings("deprecation")
            public static void main(String []args){
                
                String sql="select top 20 EA_InsertDateTime,EA_Co_Name,EA_eventName,EA_Pe_FirstName,EA_Pe_Code,EA_Pe_DE_Name from dbo.AIC_Access_EventMessageDataAccess where EA_Pe_Code is not null and EA_Pe_DE_Name is not null";
                ResultSet r1=executestatement(sql);
                try {
                    while(r1.next())
                    {
                        
                    //    System.out.print(r1.getTimestamp(1).toLocaleString()+"  "+r1.getDate(1)+" "+r1.getTime(1)+" "+r1.getString(2)+" "+r1.getString(3)+" "+r1.getString(4)+" "+r1.getString(5)+"教育发展大厦"+"\n");
                    System.out.println(r1.getTimestamp(1).toLocaleString()+" "+r1.getString(2)+" "+r1.getString(3)+" "+r1.getString(4)+" "+r1.getString(5)+" "+r1.getString(6));
                    }
                    
                    String now=new Date().toLocaleString();
                    System.out.println(now);
                } catch (SQLException e) {
                    // TODO 自动生成 catch 块
                    e.printStackTrace();
                }
                finally{
                    dbclose();
                    
                }
            }
          */
          
    }
    doorManager.jsp
    <%@ page language="java" import="java.util.*,com.sino.ibms.model.*"
        pageEncoding="utf-8"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%
        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>门禁查询</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">
    <SCRIPT type="text/javascript" src="/namidoor/js/My97DatePicker/WdatePicker.js"></SCRIPT>
    </head>
    
    <body>
        <form method="post" target="door" action="" name="dbform">
            
            <table width="100%">
                <tr>
                    <td>
                        <table align="center">
                            <tr class="f2_tr">
                                <td>起始时间:</td>
                                <td><input type="text" class="Wdate" name="btime"
                                    id="btime" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"
                                    readonly="readonly" /> </td>
                                <td>结束时间:</td>
                                <td><input type="text" class="Wdate" name="etime"
                                    id="etime" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"
                                    readonly="readonly" /></td>
                            </tr>
                        </table>
                    </td>
                </tr>
                <tr>
                    <td>
                        <table align="center">
                            <tr class="f2_tr" align="left">
                                <td>控制器名:</td>
                                <td>
                                <select name="cname" id="cname">
                                <option value="ALL">全部</option>
                            <c:forEach items="${cNamelist}" var="cl">
                                <option value="${cl.EA_Co_Name}">${cl.EA_Co_Name}</option>
                            </c:forEach>
                             </select>
                                </td>
                                <td>人员姓名:</td>
                                <td>
                                <select name="pename" id="pename">
                                <option value="ALL">全部</option>
                            <c:forEach items="${pelist}" var="pl">
                                <option value="${pl.EA_Pe_FirstName}">${pl.EA_Pe_FirstName}</option>
                            </c:forEach>
                             </select>
                                </td>
                                <td>事件:</td>
                                <td>
                                <select name="eventname" id="eventname">
                                <option value="ALL">全部</option>
                            <c:forEach items="${eventlist}" var="el">
                                <option value="${el.EA_eventName}">${el.EA_eventName}</option>
                            </c:forEach>
                                 </select>
                                </td>
                                <td><input type="submit" value="查询" class="button" onclick="checkaction(0)"/>
                                <input type="submit" value="导出报表" class="button"  onclick="checkaction(1)"/>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
            
                <table width="100%">
                    <tr>
                        <td height="500px"><iframe
                                src="<%=request.getContextPath()%>/page/door/doorQuery.jsp"
                                name="door" width="100%" frameborder="0" marginheight="0"
                                marginwidth="0" height="500px"></iframe></td>
                    </tr>
                </table>
            
        </form>
    </body>
    <script type="text/javascript">
    function checkaction(v){
    if(v==0){
    document.dbform.action="DoorAction?flag=toQuery";
    }else{
    document.dbform.action="DoorAction?flag=toExcel";
    }
    dbform.submit();
    } 
    </script>
    </html>
    doorQuery
    <%@ page language="java" import="java.util.*,com.sino.ibms.model.*"
        pageEncoding="utf-8"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg"%>
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme() + "://"
                + request.getServerName() + ":" + request.getServerPort()
                + path + "/";
        request.setCharacterEncoding("utf-8");
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'doorQuery.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">
    
    </head>
    <body>
    <div align="center">
        <pg:pager url="DoorAction" index="center" maxPageItems="10"
            maxIndexPages="10" isOffset="<%=false%>"
            export="pageOffset,currentPageNumber=pageNumber" scope="request">
            <pg:param name="cname" value="${cname}"/>
            <pg:param name="pename" value="${pename}"/>
            <pg:param name="eventname" value="${eventname}"/>
            <pg:param name="btime" value="${btime}"/>
            <pg:param name="etime" value="${etime}"/>
            <pg:param name="flag" value="toQuery"/>
            <table class="mainTable" border="1px" width="800px" align="center" style="border-collapse:collapse">
                <tr>
                    <th>时间</th>
                    <th>控制器名称</th>
                    <th>事件名称</th>
                    <th>人员</th>
                    <th>人员编号</th>
                    <th>部门</th>
                </tr>
                <c:if test="${empty list}">
                    <tr>
                        <td colspan="6" align="center"><font color="red">无相关数据</font>
                        </td>
                    </tr>
                </c:if>
                <c:if test="${!empty list}">
                    <c:forEach items="${list}" var="list">
                        <pg:item>
                            <tr>
                        <td><fmt:formatDate value="${list.EA_InsertDateTime}" pattern="yyyy-MM-dd hh:mm:ss"/> </td>
                                <td>${list.EA_Co_Name}</td>
                                <td>${list.EA_eventName}</td>
                                <td>${list.EA_Pe_FirstName}</td>
                                <td>${list.EA_Pe_Code}</td>
                                <td>${list.EA_Pe_De_Name}</td>
                            </tr>
                        </pg:item>
                    </c:forEach>
                </c:if>
            </table>
    
            <pg:index>
                <pg:first>
                    <a href="<%=pageUrl%>">首页</a>
                </pg:first>
                <pg:prev>
                    <a href="<%=pageUrl%>">上一页</a>
                </pg:prev>
                <pg:pages>
                    <c:choose>
                        <c:when test="${pageNumber eq currentPageNumber}">
                            <font color="red">[<%=pageNumber%>]</font>
                        </c:when>
                        <c:otherwise>
                            <a href="<%=pageUrl%>"><%=pageNumber%></a>
                        </c:otherwise>
                    </c:choose>
                </pg:pages>
                <pg:next>
                    <a href="<%=pageUrl%>">下一页</a>
                </pg:next>
                <pg:last>
                    <a href="<%=pageUrl%>">尾页</a>
                </pg:last>
                
            共${fn:length(list)}条记录
        </pg:index>
        </pg:pager>
    </div>
    </body>
    </html>
    error.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    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 'error.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>
       <h1>网络连接故障</h1> <br>
      </body>
    </html>
    index.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    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 'index.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 action="DoorListAction" method="post">
     <input type="submit" value="提交" class="button" />
    </form>
      </body>
    </html>
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
      <display-name></display-name>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>DoorAction</servlet-name>
        <servlet-class>com.sino.ibms.action.DoorAction</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>DoorListAction</servlet-name>
        <servlet-class>com.sino.ibms.action.DoorListAction</servlet-class>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>DoorAction</servlet-name>
        <url-pattern>/DoorAction</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>DoorListAction</servlet-name>
        <url-pattern>/DoorListAction</url-pattern>
      </servlet-mapping>
          
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
  • 相关阅读:
    第二题:坦克游戏1.0(方法:动态规划)
    第一题:小鼠迷宫问题(方法:广搜)
    我的世界之电脑mod小乌龟 —— 方位上的操作 lua函数集
    NOIP 2011 提高组 选择客栈(vijos 1737)(方法:队列,数学)
    codeforces_1040_A Python练习
    codeforces_466_C Python练习
    codeforces_158_B Python练习
    三.Python_scrapy的Item对象 学习笔记
    二.Pyhon_scrapy终端(scrapy shell)学习笔记
    一.Python_srcrapy的命令行工具 学习笔记(Command line tool)
  • 原文地址:https://www.cnblogs.com/zouteng/p/2662202.html
Copyright © 2011-2022 走看看