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>
  • 相关阅读:
    关于32位操作系统和64位操作系统对InstallShield打包的影响
    NEWS: Symantec宣布Wise Package Studio将终止
    InstallShield 2012新功能试用(2) 调用MsiGetProperty等MSI API发生变化
    Basic INFO 在命令行Build InstallShield安装包工程获得压缩安装包
    NEWS InstallShield 2012 Service Pack 1发布
    Basic INFO InstallShield Basic MSI工程中如何在SetupCompleteSuccess界面中启动Readme
    Basic INFO InstallShield的脚本编辑器中如何显示代码行号
    Basic INFO 关于在InstallShield制作的安装包界面中删除InstallShield文字的厂商回复
    Basic INFO InstallShield工程中如何让产品的快捷方式名称始终与产品名保持一致
    Basic INFO: 创建隐藏文件夹
  • 原文地址:https://www.cnblogs.com/zouteng/p/2662202.html
Copyright © 2011-2022 走看看