<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    test

    網上營業廳系統操作說明

    1.登錄系統

    2.輸入計劃類型、提箱單位、提箱日期、提箱時間段、費用截止日期、聯系人電話

    3.選箱:輸入船名、航次、提單號,點擊檢索

    4.海關放行:點擊校核

    5.保存計劃

    6.計費:點擊確認支付,跳轉至支付頁面

     

    一.注冊用戶



    三.網上支付

     

    B2B支付

    1.登陸中國銀行企業網銀系統

    2.進入支付頁面,確認支付金額,提交訂單

    3.企業財務人員進入支付審核系統

    4. 企業財務人員復合相應訂單

    5. 企業財務人員授權相應訂單

    6.完成訂單授權,查詢訂單

    7.完成B2B支付,生成訂單號,公司收到推送通知,生成提箱計劃

    二.提重辦理

    B2C支付

    1.登陸中國銀行個人網銀系統

    2.選擇付款賬戶,提交訂單

    3.完成B2C支付,生成訂單號,公司收到推送通知,生成提箱計劃


    附:詳細操作步驟

    第一部分 用戶注冊

    第二部分 提重辦理

    2.1 登陸系統,進入“重箱出場計劃”頁面。點擊頁面左側“提重辦理” ,頁面右側出現“重箱出場計劃”。

    2.2 選擇“計劃類型”,輸入“提箱單位”,選擇“提箱日期”,選擇“提箱時間段”,選擇“費用截止日期”,輸入“聯系人電話”。

    2.3  點擊“選箱” ,進入選箱頁面。輸入“船名”,“航次”,“提單號” ,點擊“檢索” ,出現箱號列表,選擇相應集裝箱。

    ,點擊“確認” ,返回“重箱出場計劃”頁面。

    2.4  點擊“海關放行” ,進入“報關單信息”頁面。(注:進行“增、刪、改“操作后,點擊”保存,報關單詳細中可添加修改箱號),點擊“校核” ,核對海關放行信息,返回“重箱出場計劃”頁面。

    2.5  點擊“保存計劃” ,出現保存成功提示

    2.6  點擊“計費” ,進入“費用統計”頁面。確認統計箱號和費用總計無誤后,點擊“確認支付” ,進入中國銀行網上支付頁面。

     

    第三部分 中國銀行網上支付(B2BB2C

     

    3.1B2B 企業支付(注:由于銀行網上支付操作規定,請于在3個小時內完成訂單授權,否則需要重新提交訂單)

    3.1.1  進入中國銀行企業網上支付頁面,輸入“用戶名”,“密碼”,“驗證碼” ,點擊“確認”,進入支付頁面。

    3.1.2  在支付頁面確認支付金額,輸入動態口令

    ,點擊“確定”,完成訂單提交。

    3.1.3  企業財務審核人員進入“支付審核”頁面,輸入“用戶名”,“密碼”,“動態口令”,點擊“登錄”進入網上銀行系統

    3.1.4  點擊“電子商務”,“B2B支付服務”,“訂單復核”進行訂單復合。 。點擊相應訂單號進入復合頁面 ,在“復核意見”選項中選擇“復合通過”,點擊“確定”。

    3.1.5  點擊“訂單授權”頁面,選擇相應訂單號進行授權操作頁面 ,在“授權意見”選項中選擇“授權通過”,點擊“確定”進入授權頁面。

    3.1.6  輸入“動態口令” ,點擊“確定”,完成授權。訂單內容可在“訂單查詢”選項中查詢。

    3.1.7  企業完成B2B網上支付,生成訂單號,公司收到推送通知,生成提箱計劃。

     

    3.2個人支付B2C(推薦使用)

    3.2.1 進入中國銀行個人網上支付頁面,輸入“用戶名”,“密碼”,“驗證碼” ,點擊“確認”,進入支付頁面。

    3.2.2  進入支付頁面,選擇“付款賬戶” ,點擊“確定”,輸入“手機交易碼”和“動態口令” ,點擊“確定”。

    3.2.3 個人完成B2C網上支付,生成訂單號,公司收到推送通知,生成提箱計劃。

    posted @ 2013-08-07 16:10 youngturk 閱讀(1328) | 評論 (0)編輯 收藏

    js post方法

    function postToNethall(PARAMS) {
    var pay_no;
    var money;
    var checkcode;
    var feeetype;
    var old_pay_no;
    var old_money;

    var splitAll = new Array();
    //測試 PARAMS = "pay_no=jmW9n%2fJCCDo%3d&money=wB1k5PqI0oU%3d&checkcode=nhIAV2UrfsUreUdGf0wS3kcPYe5P6iTZ%2boRAgdGvPLN33eTEKYp75j%2f%2bhT7xSYg%2be%2bHGf2MZyyAcYpRMl6ng3ireWvV%2bj5kRZkldFCGF8nhE1ANvxGBMBQ%3d%3d&feeetype=Q1dQXRPDVOc%3d&old_pay_no=0GUN11ebpe4%3d&old_money=0GUN11ebpe4%3d";
           splitAll =  PARAMS.split("&");
           var arrayvar;
            for( var isplit = 0 ; isplit < splitAll.length ; isplit++){
                arrayvar = new Array();
                arrayvar = splitAll[isplit].split("=");
                for(var i = 0; i < arrayvar.length;i++){
                    if(arrayvar[i] = "pay_no"){
                        pay_no = arrayvar[i+1];
                        //alert(pay_no);
                        break;
                    }
                    if(arrayvar[i] = "money"){
                        money = arrayvar[i+1];
                        // alert(money);
                        break;
                    }
                    if(arrayvar[i] = "checkcode"){
                        checkcode = arrayvar[i+1];
                        // alert(checkcode);
                        break;
                    }
                    if(arrayvar[i] = "feeetype"){
                        feeetype = arrayvar[i+1];
                        // alert(feeetype);
                        break;
                    }
                    if(arrayvar[i] = "old_pay_no"){
                        old_pay_no = arrayvar[i+1];
                        // alert(old_pay_no);
                        break;
                    }
                    if(arrayvar[i] = "old_money"){
                        old_money = arrayvar[i+1];
                        // alert(old_money);
                        break;
                    }
                }
            }
             var name = "test"
             var tempForm = document.createElement("form"); 
             tempForm.id="tempForm1"; 
             tempForm.method="post"; 
             //tempForm.action="         tempForm.action="         tempForm.target=name; 
             
              var hideInput1 = document.createElement("input"); 
              hideInput1.type="hidden"; 
             hideInput1.name= "pay_no"
             hideInput1.value= "EeM1whUd4q4%3d";
              tempForm.appendChild(hideInput1); 
             
              var hideInput2 = document.createElement("input"); 
              hideInput2.type="hidden"; 
             hideInput2.name= "money"
             hideInput2.value= "i6hN5C6DIN4%3d";
              tempForm.appendChild(hideInput2); 
             
              var hideInput3 = document.createElement("input"); 
              hideInput3.type="hidden"; 
             hideInput3.name= "checkcode"
             hideInput3.value= "nhIAV2UrfsWnq1I38RKp5%2b46w4bxah62p6tSN%2fESqefuOsOG8WoetiUOtz2bp40id93kxCmKe%2bY%2f%2foU%2b8UmIPnvhxn9jGcsgHGKUTJep4N4q3lr1fo%2bZEWZJXRQhhfJ4RNQDb8RgTAU%3d";
              tempForm.appendChild(hideInput3); 
             
              var hideInput4 = document.createElement("input"); 
              hideInput4.type="hidden"; 
             hideInput4.name= "feeetype"
             hideInput4.value= "Q1dQXRPDVOc%3d";
              tempForm.appendChild(hideInput4); 
             
              var hideInput5 = document.createElement("input"); 
              hideInput5.type="hidden"; 
             hideInput5.name= "old_pay_no"
             hideInput5.value= "0GUN11ebpe4%3d";
              tempForm.appendChild(hideInput5); 
             
              var hideInput6 = document.createElement("input"); 
              hideInput6.type="hidden"; 
             hideInput6.name= "old_money"
             hideInput6.value= "0GUN11ebpe4%3d";
              tempForm.appendChild(hideInput6); 
              
              tempForm.attachEvent("onsubmit",function(){ openWindow(name); });
             document.body.appendChild(tempForm); 
             tempForm.fireEvent("onsubmit");
             alert("tempForm");
             tempForm.submit();
            document.body.removeChild(tempForm);
       }
        

    posted @ 2013-07-16 11:11 youngturk 閱讀(1636) | 評論 (0)編輯 收藏

    直接訪問后臺,跳過filter過濾器,AuthorizationFilter.java,filter為特定權限過濾器

    web.xml
    <filter>
            
    <filter-name>AuthorizationFilter</filter-name>
            
    <filter-class>com.cenin.util.filter.AuthorizationFilter</filter-class>
        
    </filter>
    <filter-mapping>
            
    <filter-name>AuthorizationFilter</filter-name>
            
    <url-pattern>/*</url-pattern>
        </filter-mapping>
    AuthorizationFilter.java
    public class AuthorizationFilter implements Filter
    {

        public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException
        {

            HttpServletRequest request = (HttpServletRequest) req;
            HttpServletResponse response = (HttpServletResponse) resp;
            HttpSession session = request.getSession();

            String servletPath = request.getServletPath();//獲得如: /baseinfo/codeBillTypeList.action

            Object user = session.getAttribute(Config.getConfig().getSessionUser());

            //判斷權限
            boolean passed = true;


            /*if(user == null && (servletPath.indexOf("action")>=0 )){
                passed = false;
                String[] noLimit = Config.getConfig().getNoFilter().split(";");
                for(int i=0;i<noLimit.length;i++){
                    if(servletPath.matches(noLimit[i])){
                        System.out.println(servletPath + "  " + noLimit[i]);
                        passed = true;
                        break;
                    }
                }
            }
    */

            request.getRequestDispatcher(servletPath).forward(request, response);
    //控制struts or xwork跳轉

    //        if(passed)
    //            chain.doFilter(request, response);
    //        else
    //        {
    //            String modelType = request.getParameter("model.bmoduleType");
    //            String particalUrl = request.getParameter("particalUrl");
    //            session.setAttribute("model.bmoduleType", modelType);
    //            session.setAttribute("particalUrl", particalUrl);
    //            String url = Config.getConfig().getPageLogin();
    //            RequestDispatcher dispatcher = request.getRequestDispatcher(url);
    //            dispatcher.forward(request, response);
    //        }
        }
        
    public void init(FilterConfig filterConfig) throws ServletException
        
    {

        }

        
    public void destroy()
        
    {

        }


    }
    xwork.xml添加
    <include file="xwork-onlinehall.xml"/>
    xwork
    -onlinehall.xml文件內容:
    <package name="onlinehall" extends="cenin" namespace="/onlinehall" externalReferenceResolver="com.atlassian.xwork.ext.SpringServletContextReferenceResolver">
    <action name="myOrderLoadList" class="com.cenin.web.action.onlinehall.MyOrderAction" method="myOrderLoadList">
                
    <result name="success" type="freemarker">/onlinehall/myOrder.ftl</result>
            
    </action>   
    </package>
    MyOrder.java內容
    public class MyOrderAction extends BaseActionSupport {
    public String myOrderLoadList() throws Exception {}
    }

    posted @ 2013-07-12 13:15 youngturk 閱讀(3607) | 評論 (1)編輯 收藏

    XML解析SAX

    public List xmlElements(String xmlDoc) {
            
    //創建一個新的字符串
            StringReader read = new StringReader(xmlDoc);
            
    //創建新的輸入源SAX 解析器將使用 InputSource 對象來確定如何讀取 XML 輸入
            InputSource source = new InputSource(read);
            
    //創建一個新的SAXBuilder
            SAXBuilder sb = new SAXBuilder();
            List list 
    = new ArrayList();
            
    try {
                
    //通過輸入源構造一個Document
                Document doc = sb.build(source);
                
    //取的根元素
                Element root = doc.getRootElement();
                System.out.println(root.getName());
    //輸出根元素的名稱(測試)
                
    //得到根元素所有子元素的集合
                List jiedian = root.getChildren();
                
    //獲得XML中的命名空間(XML中未定義可不寫)
                Namespace ns = root.getNamespace();
                Element et 
    = null;
                DataModel dataModel 
    = new DataModel();
                Collections c ;
                Ctnfee ctnfee 
    = null;
                
    for(int i=0;i<jiedian.size();i++){
                    et 
    = (Element) jiedian.get(i);//循環依次得到子元素
                    ctnfee = new Ctnfee();
                    
    /**//*
                     * 無命名空間定義時
                     * et.getChild("users_id").getText();
                     * et.getChild("users_address",ns).getText()
                     
    */

                    
    /*System.out.println(et.getChild("users_id",ns).getText());
                    System.out.println(et.getChild("users_address",ns).getText());
    */

                    System.out.println(et.getChild(
    "p_id",ns).getText());
                    System.out.println(et.getChild(
    "ctnno",ns).getText());
                    ctnfee.setP_id(et.getChild(
    "p_id",ns).getText());
                    ctnfee.setCtnno(et.getChild(
    "ctnno",ns).getText());
                    ctnfee.setFee_type(et.getChild(
    "fee_type",ns).getText());
                    ctnfee.setStart_time(et.getChild(
    "start_time",ns).getText());
                    ctnfee.setEnd_time(et.getChild(
    "end_time",ns).getText());
                    ctnfee.setFee(Double.parseDouble(et.getChild(
    "fee",ns).getText()));
                    ctnfee.setFee_count(Double.parseDouble(et.getChild(
    "fee_count",ns).getText()));
                    ctnfee.setCpid(et.getChild(
    "cpid",ns).getText());
                    ctnfee.setFee_name(et.getChild(
    "fee_name",ns).getText());
                    ctnfee.setFee_rate_id(Double.parseDouble(et.getChild(
    "fee_rate_id",ns).getText()));
                    ctnfee.setJffs(et.getChild(
    "jffs",ns).getText());
                    ctnfee.setIf_hand(et.getChild(
    "if_hand",ns).getText());
                    ctnfee.setSfid(et.getChild(
    "sfid",ns).getText());
                    ctnfee.setWt_company(et.getChild(
    "wt_company",ns).getText());
                    ctnfee.setOpid(et.getChild(
    "opid",ns).getText());
                    ctnfee.setCy(et.getChild(
    "cy",ns).getText());
                    ctnfee.setIf_bf(et.getChild(
    "if_bf",ns).getText());
                    ctnfee.setDays_count(et.getChild(
    "days_count",ns).getText());
                    ctnfee.setIf_collect(Double.parseDouble(et.getChild(
    "if_collect",ns).getText()));
                    ctnfee.setIf_dd(et.getChild(
    "if_dd",ns).getText());
                    ctnfee.setDd_fee_name(et.getChild(
    "dd_fee_name",ns).getText());
                    ctnfee.setSpec_sign(et.getChild(
    "spec_sign",ns).getText());
                    
                    list.add(ctnfee);
                    counttotal 
    = counttotal +Double.parseDouble(et.getChild("fee_count",ns).getText());
                }

                
    /**//*
                 * 如要取<row>下的子元素的名稱
                 
    */

                et 
    = (Element) jiedian.get(0);
                List zjiedian 
    = et.getChildren();
                
    for(int j=0;j<zjiedian.size();j++){
                    Element xet 
    = (Element) zjiedian.get(j);
                    System.out.println(xet.getName());
                }

            }
     catch (JDOMException e) {
                
    // TODO 自動生成 catch 塊
                e.printStackTrace();
            }
     catch (IOException e) {
                
    // TODO 自動生成 catch 塊
                e.printStackTrace();
            }

            
    return list;
        }

    posted @ 2013-07-10 15:03 youngturk 閱讀(322) | 評論 (0)編輯 收藏

    java中發起POST請求,并接收返回的響應內容的方式

    public static void main(String[] args) throws IOException {

        String bocNo1
    ="6124"
        String orderNos1
    ="104110059475569"
        String signData1
    ="eeb5705cffb3820d8cf8b6cae5774730_21ec2425-883b-4974-a036-360ddec9fb9a"+
    "MIIDuAYJKoZIhvcNAQcCoIIDqTCCA6UCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCAmww"+
    "ggJoMIIB0aADAgECAhB9RyYZTkOnSvrpIjNNqTqUMA0GCSqGSIb3DQEBBQUAMFoxCzAJBgNVBAYT"+
    "AkNOMRYwFAYDVQQKEw1CQU5LIE9GIENISU5BMRAwDgYDVQQIEwdCRUlKSU5HMRAwDgYDVQQHEwdC"+
    "RUlKSU5HMQ8wDQYDVQQDEwZCT0MgQ0EwHhcNMTEwNjE4MTAyNjI0WhcNMjEwNDI2MTAyNjI0WjBH"+
    "MQswCQYDVQQGEwJDTjEWMBQGA1UEChMNQkFOSyBPRiBDSElOQTENMAsGA1UECxMEVEVTVDERMA8G"+
    "A1UEAx4IbUuL1VVGYjcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMNF+o1mNobAG60gm9cG"+
    "DbOuq5KLKsRF/jjstfjzorz1qQdiY5ibCu3ngk2VHxAf3JV7beDw7OuWjxIaxntsWiOaFhujSlxS"+
    "7dyefk4uOwHWuFOoZGIG/scXcjU74NLdSM0ptj42SfdMsbqzcQ8kqvV7MbPqJW8ztlefmafdYpJh"+
    "AgMBAAGjQjBAMB8GA1UdIwQYMBaAFHjxtvO9ykQNfC/o0jbI/gawwPmfMB0GA1UdDgQWBBS6HTP9"+
    "uBZMvHzqidY/hp7m9hx0zTANBgkqhkiG9w0BAQUFAAOBgQAyLyYGKopiY0fSaTM/fElg/3JRrOcv"+
    "8xrNNr5tdym61W44d3Uh53zD+5cOhQnQfYEE6d6QeiRicNi3kwh3mr9BX0+H7uBq4SQ9Gq99gk3E"+
    "tdLe4EMIZbE01SPzKViUE2A+7ewffHgFy5i4VweoB9MmppaF1RPj0pGftFp6d0+dWDGCARQwggEQ"+
    "AgEBMG4wWjELMAkGA1UEBhMCQ04xFjAUBgNVBAoTDUJBTksgT0YgQ0hJTkExEDAOBgNVBAgTB0JF"+
    "SUpJTkcxEDAOBgNVBAcTB0JFSUpJTkcxDzANBgNVBAMTBkJPQyBDQQIQfUcmGU5Dp0r66SIzTak6"+
    "lDAJBgUrDgMCGgUAMA0GCSqGSIb3DQEBAQUABIGAa6dnWBArRLTMDYcWeYYLBFRVIeYX0WkQHniU"+
    "AN4umk64gC/4r96v5BVm7tuetH2QtqVJIelvHZZKnvQsqAG108TkPR9+12JbxApu/eE5DTXmXqdj"+
    "zfrQE7sk7rCBdqbFjqkETzU7oAwfqCuZGa6q+4TDWvdmYkM33ZdmtFJ53a0="
        
    /**
          java中兩種發起POST請求,并接收返回的響應內容的方式  2011-07-22 09:43:29|  分類: 默認分類 |  標簽: |字號大
          中
          小 訂閱 
          1、利用apache提供的commons-httpclient-3.0.jar包

          代碼如下:

          
            * 利用HttpClient發起POST請求,并接收返回的響應內容
            * 
            * 
    @param url 請求鏈接
            * 
    @param type 交易或響應編號
            * 
    @param message 請求內容
            * 
    @return 響應內容
            
    */

    //        public String transRequest(String url, String type, String message) {
            
    // 響應內容
            String result = "";
            
            
    // 定義http客戶端對象--httpClient
            HttpClient httpClient = new HttpClient();
             
            
    // 定義并實例化客戶端鏈接對象-postMethod
            PostMethod postMethod = new PostMethod("http://180.168.146.75:81/PGWPortal/CommonB2BQueryOrder.do");
             
            
    try{
             
    // 設置http的頭
    //         postMethod.setRequestHeader("ContentType",
    //           "application/x-www-form-urlencoded;charset=UTF-8");
           
             
    // 填入各個表單域的值
             NameValuePair bocNo  = new NameValuePair("bocNo", bocNo1);
                NameValuePair orderNos 
    = new NameValuePair("orderNos", orderNos1);
                NameValuePair signData 
    = new NameValuePair("signData", signData1);
    //            postMethod.setRequestBody( new NameValuePair[] {bocNo, orderNos,signData});
                NameValuePair[] data = { bocNo,
                        orderNos,signData }
    ;
    //         NameValuePair[] data = { bocNo, orderNos,signData);
             
             
    // 將表單的值放入postMethod中
             postMethod.setRequestBody(data);
           
             
    // 定義訪問地址的鏈接狀態
             int statusCode = 0;
             
    try {
              
    // 客戶端請求url數據
              statusCode = httpClient.executeMethod(postMethod);
             }
     catch (Exception e) {
              e.printStackTrace();
             }

             
             
    // 請求成功狀態-200
             if (statusCode == HttpStatus.SC_OK) {
              
    try {
               result 
    = postMethod.getResponseBodyAsString();
               System.out.println(result);
              }
     catch (IOException e) {
               e.printStackTrace();
              }

             }
     else {
              System.out.println(
    "請求返回狀態:" + statusCode);
             }

            }
     catch (Exception e) {
                System.out.println(e.getMessage());
            }
     finally {
             
    // 釋放鏈接
             postMethod.releaseConnection();
             httpClient.getHttpConnectionManager().closeIdleConnections(
    0);
            }

           
    /* GetMethod authpost1 = new GetMethod("http://180.168.146.75:81/PGWPortal/CommonB2BQueryOrder.do" );

            httpClient.executeMethod(authpost1);
            result = authpost1.getResponseBodyAsString();
            System.out.println(result);
    */

          
    //查看cookie信息

            
    /*Cookie[] cookies = httpClient.getState().getCookies();
            httpClient.getState().addCookies(cookies);

           if (cookies.length == 0) {

               System.out.println("None");

           } else {

               for (int i = 0; i < cookies.length; i++) {

                   System.out.println(cookies[i].toString());

               }

           }
    */

    }

    posted @ 2013-07-10 14:48 youngturk 閱讀(3639) | 評論 (1)編輯 收藏

    Tomcat部署Web應用方法總結 .

    Tomcat部署Web應用方法總結
    在Tomcat中部署Java Web應用程序有兩種方式:靜態部署和動態部署。

    在下文中$CATALINA_HOME指的是Tomcat根目錄。

    一、靜態部署 


    靜態部署指的是我們在服務器啟動之前部署我們的程序,只有當服務器啟動之后,我們的Web應用程序才能訪問。

    以下3種方式都可以部署:(以PetWeb項目為例說明,PetWeb目錄假設是F:
    /PetWeb)

    1.利用Tomcat自動部署 


    將PetWeb目錄拷貝到$CATALINA_HOME
    /webapps下,然后啟動服務器就可以了,Tomcat啟動時將自動加載應用。

    訪問地址如下:http:
    //localhost:8080/PetWeb/ 

    這種方式比較簡單,但是web應用程序必須在webapps目錄下。Tomcat的Webapps目錄是Tomcat默認的應用目錄,當服務器啟動時,會加載所有這個目錄下的應用。

    2.修改Server.xml文件部署 


    這種方式可以不必將PetWeb目錄拷貝到webapps下,直接在F:
    /部署。方法如下,更改$CATALINA_HOME/conf/server.xml文件,

    找到以下內容:

    Xml代碼:

    1.<Context  path ="/Pet"  reloadable ="false"  docBase ="F:/PetWeb"  workDir ="d:/Mywebapps/emp"  /> 
    path:是訪問時的根地址,表示訪問的路徑;如上述例子中,訪問該應用程序地址如下:http:
    //localhost:8080/Pet/ 

    reloadable:表示可以在運行時在classes與lib文件夾下自動加載類包。其中reloadable
    ="false"表示當應用程序中的內容發生更改之后服務器不會自動加載,這個屬性在開發階段通常都設為true,方便開發,在發布階段應該設置為false,提高應用程序的訪問速度。

    docbase:表示應用程序的路徑,注意斜杠的方向“
    /”。 docBase可以使用絕對路徑,也可以使用相對路徑,相對路徑相對于webapps。

    workdir:表示緩存文件的放置地址

    3.增加自定義web部署文件(推薦使用,不需要重啟Tomcat ) 


    這種方式和方法2差不多,但不是在Server.xml文件中添加Context標簽,而是在$CATALINA_HOME
    /conf /Catalina/localhost中添加一個xml文件,如Pet.xml.在Tomcat安裝目錄conf/Catalina /localhost下,里面有Tomcat自帶的三個應用,隨意復制其中的一個XML文件,然后修改docbase指向你自己的應用程序,并把文件名改名,各參數參見方法2中的<Context>標簽的參數,或者你也可以自己新建一個XML文件。(注意此文件名將作為Context中的path屬性值,不管文件里的path屬性值如何設置也是無效的 ),將以下內容復制過去,修改相應路徑即可。

    Xml代碼:

    1.<Context  path ="/Pet"  docBase ="F:/PetWeb"   
    2.        debug ="0"  privileged ="true"  reloadable ="false"  >   
    3.</Context> 
    訪問地址如下:http:
    //localhost:8080/Pet/   

     

     

    注: Web應用以.war文件的形式部署 



    可以將JSP程序打包成一個war包放在目錄下,服務器會自動解開這個war包,并在這個目錄下生成一個同名的文件夾。一個war包就是有特性格式的jar包,它是將一個Web程序的所有內容進行壓縮得到。

    我們剛才是將PetWeb文件夾部署在了服務器中,我們知道可以將Web應用程序的內容打成.war 包,然后在部署在服務器上。打包請參考如下步驟: 
        
    1、打開命令提示符(cmd) 
        
    2、設置jdk環境變量  
        
    3、在命令提示符中進入項目文件夾F:/PetWeb后,鍵入如下命令:jar cvf Pet.war */ .   (注意最后有個“. ”)。這樣在F:/PetWeb下應該有Pet.war文件。 (也可以打包到指定的地方,命令如下:jar cvf d:/Pet.war */ . )

    部署Pet.war文件非常簡單,將剛才xml文件中的docBase 
    ="F:/PetWeb" 更改為docBase ="F:/Pet.war" 或者直接將其拷貝到webapps目錄下就可以。然后重新啟動服務器就可以將Pet.war部署為一個Web應用程序了。

    如果你夠細心的話你會發現,服務器將Pet.war文件解開,并且在webapps下面又生成了一個Pet文件夾,然后把Pet.war的內容拷貝到里面去了。我們可以通過以下方式取消自動解壓縮,將xml配置文件中的unpackWAR 屬性設置為
    "false" 即可。

     

     

    二、動態部署 


    動態部署是指可以在服務器啟動之后部署web應用程序,而不用重新啟動服務器。動態部署要用到服務器提供的manager.war文件,如果在$CATALINA_HOME
    /webapps/下沒有該文件,你必須去重新下載tomcat,否則不能完成以下的功能。要想使用該管理程序必須首先編輯$CATALINA_HOME/conf/tomcat-users.xml文件,內容如下:(關于這個文件的更多內容,請參考 Java Web應用程序的安全模型二 )

    <tomcat-users> 
    <role rolename="tomcat"/> 
    <role rolename="role1"/> 
    <role rolename="manager"/> 
    <user username="coresun" password="coresun" roles="manager"/> 
    <user username="tomcat" password="tomcat" roles="tomcat"/> 
    <user username="both" password="tomcat" roles="tomcat,role1"/> 
    <user username="role1" password="tomcat" roles="role1"/> 
    </tomcat-users> 

    posted @ 2013-07-07 11:45 youngturk 閱讀(1531) | 評論 (0)編輯 收藏

    獲得父窗口字段值window.dialogArguments.document.getElementById("hwlxcn").value;

    <#if lib_fun.BrowserType()==1 >
            parent = window.dialogArguments.document.getElementById("hwlxcn").value;
       <#else>
            parent = window.opener.document.getElementById("hwlxcn").value;
       </#if>

    posted @ 2013-06-28 14:35 youngturk 閱讀(2437) | 評論 (2)編輯 收藏

    清除緩存

         摘要: showModalDialog 參數詳細說明   使用 showModalDialog 顯示數據 , 因為緩存的原因 , 有時候數據不會立即更新 , 所以需要在 HTML 頁面的 Head 標簽內添加使網頁過期的語句 , 這樣才能使 showModalDialog 數據能夠得 到及時的更新:     <meta&...  閱讀全文

    posted @ 2013-06-05 12:36 youngturk 閱讀(1490) | 評論 (0)編輯 收藏

    eclipse package,source folder,folder區別及相互轉換

    在eclipse下,package,source folder,folder都是文件夾.  

    它們的區別如下:  
    package:當你在建立一個package時,它自動建立到source folder下,也只能建立在這個目錄之下.  

    source folder:存放java源代碼的文件夾,當然也包括一些package文件夾,還可以包含其他文件.  
    項目構建后,source folder里面的java自動編譯成class文件到相應的/web-inf/classes文件夾中,其他文件也會移到/web-inf/classes相應的目錄下.  

     
    package和sourceFolder比較
    相同之外:package下除了java文件也可以包含其他文件,而且編譯、打包后的文件路徑與source folder下的文件路徑有一樣規則
    不同之外:1.sourceFolder靠"/"來進行上下級劃分,package靠“.”來進行上下級劃分。
      2.source folder下能建package,而package下不能建source folder
      3.java文件中的package屬性是按package路徑來進行賦值的,source folder路徑不參與java文件的package屬性賦值,再由第二條不同得到結論,所有source folder下的java文件package屬性都為空。

    folder:里面可以放入任何文件.包括java源文件,jar文件,其他文件(例如,圖片,聲音等).在此我說明一下,如果里面含有java源文件,不管程序是否正確,eclipse都不會報錯,把它們當做普通文件處理.但是項目如果要使用這里面的文件,情況就不同了. 

    package,source folder,folder 之間相互轉換 
    package 轉成 folder 顯示:選中package, build path-> Exclude 
    folder 轉成 package 顯示:選中folder, build path-> Include 

    package 轉成 source folder 顯示:選中package, build path-> Use as Source folder 
    source folder 轉成 package 顯示:選中folder, build path-> Remove from BuildPath 

    pacage 與 source folder 的轉換同上 

    posted @ 2013-06-04 10:34 youngturk 閱讀(504) | 評論 (0)編輯 收藏

    web頁面檢索數據庫中的字段是亂碼問題

    this.databaseEncoding = "GBK";
    //  this.databaseEncoding = "ISO8859-1";
      this.platformEncoding = "GBK";

    獲得數據庫字符時候需要轉換

    posted @ 2013-05-03 10:33 youngturk 閱讀(315) | 評論 (0)編輯 收藏

    僅列出標題
    共33頁: First 上一頁 2 3 4 5 6 7 8 9 10 下一頁 Last 
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導航

    統計

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結構
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    EJB學習

    Flex學習

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲成在人线中文字幕| 亚洲人成依人成综合网| 久久精品国产亚洲AV电影网| 青青视频观看免费99| 久久久久亚洲AV无码永不| 国内精品一级毛片免费看| 亚洲国产精品va在线播放| 国产精品99久久免费观看| 久久久久亚洲AV无码麻豆| 久草视频免费在线观看| 亚洲最大福利视频| 国产美女无遮挡免费视频网站| 亚洲成熟丰满熟妇高潮XXXXX| 国产片免费福利片永久| 2022免费国产精品福利在线 | 91嫩草亚洲精品| 在线观看日本免费a∨视频| 亚洲欧美国产国产一区二区三区| 精品久久洲久久久久护士免费| 亚洲乱妇老熟女爽到高潮的片| 国产免费拔擦拔擦8x| 精品97国产免费人成视频 | 亚洲一区二区三区四区视频| 久久综合AV免费观看| 在线精品自拍亚洲第一区| 亚洲高清日韩精品第一区| 国产亚洲精品资源在线26u| 亚洲国产香蕉碰碰人人| 久久综合日韩亚洲精品色| 国产激情免费视频在线观看| 久久精品国产精品亚洲蜜月| 91免费播放人人爽人人快乐| 亚洲人成网站在线播放2019| 亚洲精品成人片在线观看| 美女视频黄的免费视频网页| 亚洲av专区无码观看精品天堂| 国产18禁黄网站免费观看| 成人免费区一区二区三区| 亚洲 日韩经典 中文字幕| 狠狠色婷婷狠狠狠亚洲综合| 精品无码AV无码免费专区|