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

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

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

    隨筆-23  評論-0  文章-5  trackbacks-0
     

     

    在開放過程中有時候工作環境不編譯文件,解決方案如下:
    1、確保 project->build automatically 已經被選上。

    2、如果選上了也不好使, 使用這一招: project->clean..->選第2個clean select project,,勾上start build immediatelly。

    3、刪除現在的項目,提前設置好編譯文件輸出路徑,重新導入源文件,設置MyEclipse為保存時編譯,然后在保存的時候就可以自動編譯了。

    4、如果項目里引了某個不用的jar包,而那個包又被你刪了,就會出現不報錯但怎么也編譯不出來class文件的情 況,可以把所有包都刪除,然后一個一個的再引入(需要的),不要一下子把所有包都引入來,沒用的可能會引起不良后果。

    5、想刪掉某個class文件重新生成,刪除class文件后,但classes目錄下的文件夾被其它程序打開,比如Total Commander。此時編譯也不會通過,在problems下可能會提示“con't delete classes ……”,關掉其它程序重新編譯即可。

    6、還有種情況是remove掉 JRE System Library,重新導入即可編譯。但是什么原因導致的還不清楚。

    7、把build path中所有包都remove掉,然后又add jars,add libraries把需要的加進去,居然又開始編譯了。

    8、project->properties->java build path->source->.../WEB-INF/src的output folder不要默認,編輯讓它指向../WEB-INF/classes然后重新點擊build工程即可自動編譯。我的問題出在這里,我把這個編譯目錄給誤刪了。

    9、再就是最重要的要看工程下面是否缺少了work目錄,由于CVS控制時不把work加如版本,所以 checkout后沒有這個目錄,要手工加上有的工程就能自動編譯了最開始的時候,我只找到了前面7個方法,但是他們都沒有解決我的問題,無意中我打開了"Problems"標簽,發現里面說缺少work目錄,手工 加上,然后刷新項目就可以了,最后兩個是我在寫這個總結的時候發現的,特別是第九條對使用CVS進行版本控制的項目比較有用.classpath這個xml文件要仔細看。

     

    posted @ 2014-04-24 15:48 ForMeBlog 閱讀(12275) | 評論 (0)編輯 收藏
            weblogic安裝的系統是window,weblogic版本是8.1.5版本,運行weblogic服務后,查看bea\user_projects\domains\mydomain\myserver目錄下myserver.log文件(我這邊建的服務是默認的服務myserver,如果你沒有用默認服務,那你就到你建的server下面找),以記事本的方式打開文件,查找file.encoding等于的值,這個默認是系統的編碼,如果系統編碼不適合你當前的編碼,可以通過下面方式修改我們weblogic的編碼。
            一、首先修改啟動文件startWebLogic.cmd,將編碼改變
                  startWebLogic.cmd文件在bea\user_projects\domains\mydomain目錄下,以記事本方式打開,拉到最下面有一下內容:
                  
    %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server
                  在“%JAVA_OPTIONS%”后面添加-Dfile.encoding="UTF-8",中間要用空格但是不要換行。
            二、重新啟動weblogic服務
                 重啟weblogic服務后,可以到bea\user_projects\domains\mydomain\myserver目錄下查看myserver.log文件里面的file.encoding值變成了UTF-8,則證明修改成功了。
    posted @ 2014-04-09 16:53 ForMeBlog 閱讀(8712) | 評論 (0)編輯 收藏
    一、搭建框架的目的
        主要學習了解各個框架之間如何結合使用。了解用戶訪問到返回給用戶結果的流程怎樣進行,原理是什么。怎樣才能深入理解使用框架。
    二、項目實現目標
        用戶訪問頁面填寫用戶名和密碼,進過后臺處理返回登錄成功或失敗。
    三、理解項目流程
        首先,用戶訪問login.jsp頁面,瀏覽器顯示登錄要填寫的信息,點擊提交后首先在web.xml里面配置Struts攔截器會處理,之后轉到struts.xml,根據用戶訪問的請求找到相應的配置,根據配置找到applicationContext.xml里面bean對于的Java文件,對于這個對象Spring里面有數據庫操作類的注入,這使得Action類能夠連接數據庫并處理數據,Action類里面返回處理結果,根據struts.xml配置返回相應的界面。
        下載項目文件
    四、數據庫代碼
    1create table USERINFO
    2(
    3  ID       NUMBER,
    4  USERNAME VARCHAR2(50),
    5  PASSWORD VARCHAR2(50)
    6)


    posted @ 2014-03-07 17:53 ForMeBlog 閱讀(474) | 評論 (0)編輯 收藏
         摘要:    學習能力代表著成長的加速度,大家上場的時候,其實速度都差不到那里去。但是過了幾年,差距就拉大了。因為有人在 5 檔上飚車,有人在 1 檔慢慢前行…還有在開倒車。   對于職場新人,雇主在學習能力方面更為重視。畢竟和有經驗的員工相比,公司招應屆生,你的潛力還是一個關鍵因素。   本文包括 3 部分: ·   &nbs...  閱讀全文
    posted @ 2014-02-24 11:15 ForMeBlog 閱讀(277) | 評論 (0)編輯 收藏
      
    初學struts也是一知半解,比如action與dispatchAction的區別,最近便讓我十分困惑?! ?br />
    做為一個初學者,在目前使用過的東西中,主要有mapping.findForward(),action,dispatchAction三個實用功能,這三者放在一起本不太合適,但是在我看來,也有一定的相關性?! ?br />
    struts主要用途
    1. 判斷url傳值所要做的操作。比如 http://www.baidu.com/index.jsp?run=showAll ,這個如果使用了action,可以使用request.getParameter()接收。
    2. 使用mapping.findForward(url);替換servlet的response.sendRedirect("http://www.baidu.com");
    3. 把form提交的內容封裝到formBean。這樣在使用了大量form的時候,可以用formBean的一實例lf.formName這樣去調用。
    好處在于不用使用request.getParameter("formName");去接收。
    4. 使用dispatchAction,在struts-config.xml中進行配置,直接可以判斷get鏈接中的傳值,也可以避免使用request.getParameter("formName");去接收。

    formBean與dispatchAction的區別: 
    顯而易見,formBean使用在大量的post表單的情況下。
    dispatchAction常用來處理url鏈接中傳來的值。

    Action與dispatchAction的區別: 
    這里使用區別并不合適,因為dispatchAction繼承自Action,所以dispatchAction是對action進行了功能的擴充,action常需要使用getParameter()先獲取傳入的值,再判斷這個值是否正常,再重定向到不同的頁面?!?br />而dispatchAction把判斷放以了struts-config.xml文件中,而不需要再到業務層進行判斷。并且dispatchAction在使用中,更常用于處理url傳入的get請求。


    Struts的生存周期

    啟動web服務器 -- 加載web.xml文件 -- 產生ActionServlet實例 -- 加載struts-config.xml文件 -- 解析出多個action并放入actionMapping池 
    客戶端發現請求 -- web容器 -- 請求發送到ActionServlet -- 分發到不同的action并實例化 -- 模型層處理 -- 處理結果返回到actionServlet -- 返回結果到視圖層

    舉例
    下面是一個使用了dispatchAction的項目的完整struts-config.xml配置
    ---------------------------------------------
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

    <struts-config>
    <data-sources />
    <form-beans />
    <global-exceptions />
    <global-forwards />
    <form-beans>      //formbean的定義,name="loginForm"對應于下文中的name="loginForm"
    <form-bean name="loginForm" type="org.jsw.struts.form.LoginForm" />
    </form-beans>
    <action-mappings >

    <action                    //定義了一個action
    path="/manager"           //此action的訪問路徑
    name="loginForm"          //此action用于接收哪個formbean,對應于上文<form-beans>中的內容
    parameter="method"      //此action用于接怍method的值,如果method值是add,那么自動調用業務層的add方法
    type="com.umt.struts.action.ManagerAction">
    <forward name="success" path="/success.jsp"></forward>     //定義了重向向地址
    <forward name="delete" path="/delete.jsp"></forward>
    </action>
    </action-mappings>

    <message-resources parameter="com.jsw.struts.ApplicationResources" />
    </struts-config>
    posted @ 2013-11-05 16:37 ForMeBlog 閱讀(476) | 評論 (0)編輯 收藏
    String   str   =   "";//add   your   string   content

    InputStream   inputStream   =   new   ByteArrayInputStream(str.getBytes());


     1 package org.kodejava.example.io;
    2
    3  import java.io.ByteArrayInputStream;
    4  import java.io.InputStream;
    5
    6  public class StringToStream {
    7 public static void main(String[] args) {
    8 String text = "Converting String to InputStream Example";
    9
    10 /*
    11 * Convert String to InputString using ByteArrayInputStream class.
    12 * This class constructor takes the string byte array which can be
    13 * done by calling the getBytes() method.
    14 */
    15 try {
    16 InputStream is = new ByteArrayInputStream(text.getBytes("UTF-8"));
    17 } catch (UnsupportedEncodingException e) {
    18 e.printStackTrace();
    19 }
    20 }
    21 }
    22  

     





    1、字符串轉inputStream

     

    Java代碼  
    1. String string;  
    2. //......  
    3. InputStream is = new ByteArrayInputStream(string.getBytes());  
     

    2、InputStream轉字符串

     

    Java代碼  
    1. ByteArrayOutputStream baos = new ByteArrayOutputStream();  
    2. int i;  
    3. while ((i = is.read()) != -1) {  
    4.     baos.write(i);  
    5. }  
    6. String str = baos.toString();  
    7. System.out.println(str);  
     

    3、String寫入OutputStream

     

    Java代碼  
    1. OutputStream os = System.out;  
    2. os.write(string.getBytes());  
     

    4、OutputStream寫入String

     

    這聽起來有點荒謬,OutputStream本來就是輸出源,還寫入String?

    不過最近項目里確實遇到了個類似的問題,比如 SOAPMessage.writeTo(OutputStream os) 這個方法,是將SOAPMessage的內容寫到一個輸出流中,而我想得到這個流的內容,總不能把他先寫進文件再去讀這個文件吧,研究了好半天,終于想起可以如下這般:

     

    Java代碼  
    1. ByteArrayOutputStream baos = new ByteArrayOutputStream();  
    2. //向OutPutStream中寫入,如 message.writeTo(baos);  
    3. String str = baos.toString();  


    將InputStream/OutputStream轉換成string

     

    這里需要用到一個特殊的類ByteArrayOutputStream,利用他,我們可以將輸出流在內存中直接轉換成String類型。

    具體代碼如下:

     

    首先從輸入流中將數據讀出來寫入ByteArrayOutputStream,然后再將其轉換成String.

     

    Java代碼  
    1. InputStream in = urlconn.getInputStream();//獲取輸入流  
    2.   
    3. ByteArrayOutputStream bos = new ByteArrayOutputStream();  
    4.   
    5. //讀取緩存  
    6. byte[] buffer = new byte[2048];  
    7. int length = 0;  
    8. while((length = in.read(buffer)) != -1) {  
    9.     bos.write(buffer, 0, length);//寫入輸出流  
    10. }  
    11. in.close();//讀取完畢,關閉輸入流  
    12.   
    13. // 根據輸出流創建字符串對象  
    14. new String(bos.toByteArray(), "UTF-8");  
    15. //or  
    16. //bos.toString("UTF-8");  

     

    根據同樣的原理,我們可以將outputstream直接轉換成String對象。



    指定一下字符集
    byte[] b = str.getBytes("utf-8");
    String s = new String(b,"utf-8");



    OUTPUTSTREAM中方法WRITE用法

     void write(byte[] b) 
              將 b.length 個字節從指定的 byte 數組寫入此輸出流。 
     void write(byte[] b, int off, int len) 
              將指定 byte 數組中從偏移量 off 開始的 len 個字節寫入此輸出流。 
    abstract  void write(int b) 
              將指定的字節寫入此輸出流。 
    轉載地址:http://blog.csdn.net/soundtravel/article/details/6927006
    posted @ 2013-07-11 16:18 ForMeBlog 閱讀(352) | 評論 (0)編輯 收藏
    解決方案1(推薦):
    只需要在project build path中先移除JRE System Library,再添加庫JRE System Library,重新編譯后就一切正常了。
    解決方案2:
    Windows -> Preferences -> Java -> Compiler -> Errors/Warnings ->
    Deprecated and trstricted API -> Forbidden reference (access rules): -> change to warning
    posted @ 2013-06-07 15:26 ForMeBlog 閱讀(196) | 評論 (0)編輯 收藏
    在靜態頁面中,table標簽里面的換行可以用<tr></tr>來實現換行,但是從數據庫里面讀出來的數據是數組,遍歷出來中間沒有辦法加入<tr></tr>實現換行,結果是頁面上顯示一列?,F在可以解決了,你可以試一試用下面方法。
    下面是舉的一個例子你可以考到有struts 2環境的項目中看一下。
     1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
     2 <%@ taglib prefix="s" uri="/struts-tags" %>
     3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     4 <html>
     5   <head>
     6     <title>My JSP 'index.jsp' starting page</title>
     7  <meta http-equiv="pragma" content="no-cache">
     8  <meta http-equiv="cache-control" content="no-cache">
     9  <meta http-equiv="expires" content="0">   
    10  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    11  <meta http-equiv="description" content="This is my page">
    12  <!--
    13  <link rel="stylesheet" type="text/css" href="styles.css">
    14  -->
    15  <s:head/>
    16   </head>
    17  
    18   <body>
    19     <table border="0">
    20     <tr>
    21      <s:iterator value="{'banana','apple','orange','cherry'}" id="fruitName" status="st">
    22       <td><s:property value="fruitName"/></td>
    23       <s:if test="(#st.index+1)%3==0"><!-- #st.index獲取數組的下標 -->
    24        </tr><tr>
    25       </s:if>
    26      </s:iterator>
    27      </tr>
    28      </table>
    29   </body>
    30 </html>
    posted @ 2012-03-17 18:47 ForMeBlog 閱讀(1912) | 評論 (0)編輯 收藏
    你可以在struts.xml文件中修改成如下:
    <action name="addnew" class="ay.jf.action.AddNewAction">
        <result name="success" type="chain" >
            <param name="namespace">/manager</param>
            <param name="actionName">newlist</param>
            <param name="method">receive</param>
        </result>
    </action>
    <action name="newlist" class="ay.jf.action.NewLIstAction">
         <result name="success">/feng.jsp</result>
    </action>
    posted @ 2011-11-05 18:41 ForMeBlog 閱讀(987) | 評論 (0)編輯 收藏

    在Struts2里,如果需要在Action中使用session,可以通過下面兩種方式得到
    1.通過ActionContext class中的方法getSession得到
    2.Action實現org.apache.struts2.interceptor.SessionAware接口的方式來對session進行操作


    一、
    package s2.ex.action; 
    import java.util.Map;
    import com.opensymphony.xwork2.ActionContext; 

    import com.opensymphony.xwork2.ActionSupport; 

    public class SessionTestAction extends ActionSupport {     

         public String execute() {       

                 ActionContext actionContext = ActionContext.getContext();        

                 Map session = actionContext.getSession();        

                 session.put("UserName", "admin");  //設置session      

                 return SUCCESS;      
        }  

    }

    在這個例子中,通過ActionContext得到session,并往session里放置一個key為UserName,值為admin的內容。

     


    二、下面是一個實現org.apache.struts2.interceptor.SessionAware接口來對session操作的例子
     

    package s2.ex.action;  
    import java.util.Map;  
    import org.apache.struts2.interceptor.SessionAware;  
    import com.opensymphony.xwork2.ActionSupport;  
    public class SessionTest1Action extends ActionSupport implements SessionAware {       
        private Map session;       
        public void setSession(Map session)  {          
            this.session = session;     
        }       
        public String execute() {         
            this.session.put("UserName", "admin");          
            return SUCCESS;       
        }  
    }

     

    下面是一個在JSP中使用session的例子:
    <%@ page contentType="text/html; charset=UTF-8" %>  
    <%@ page pageEncoding="utf-8" %>  
    <%@ taglib prefix="s" uri="/struts-tags" %>  
    <html>  
    <head>      
    <title>Session Test-JAVA中文網:http://www.javaweb.cc/</title>  
    </head>  
    <body>  
    <h1><s:property value="#session.USER_NAME"/></h1>   <h1></h1>  
    </body>  
    </html>

    此文章經過修改,根據Java中文網
    地址是:http://javaweb.cc/architecture/struts/261792.shtml

    posted @ 2011-10-22 10:13 ForMeBlog 閱讀(1305) | 評論 (0)編輯 收藏
    僅列出標題
    共3頁: 上一頁 1 2 3 下一頁 
    主站蜘蛛池模板: 色播亚洲视频在线观看| 狠狠入ady亚洲精品| 青青青国产在线观看免费| 亚洲国产欧美一区二区三区| 国产亚洲精品拍拍拍拍拍| 1000部免费啪啪十八未年禁止观看| 亚洲国产91在线| 中文字幕亚洲电影| 在线视频精品免费| jizz日本免费| 久久夜色精品国产噜噜亚洲a| 国外亚洲成AV人片在线观看| 99久久久精品免费观看国产| 无遮挡国产高潮视频免费观看| 亚洲视频精品在线观看| 亚洲成A人片在线观看无码3D| 国产成人精品免费午夜app| 四虎精品免费永久免费视频| 亚洲免费二区三区| 亚洲另类激情综合偷自拍图| 成人免费视频试看120秒| AAA日本高清在线播放免费观看 | 亚洲av无码av在线播放| 亚洲av无码精品网站| 国产做床爱无遮挡免费视频| 69国产精品视频免费| japanese色国产在线看免费| 亚洲熟妇AV日韩熟妇在线| 亚洲成人午夜在线| 亚洲区日韩区无码区| 免费看大黄高清网站视频在线| 69精品免费视频| 中文字幕手机在线免费看电影 | 亚洲人成黄网在线观看| 亚洲日韩精品无码一区二区三区| 国产又大又粗又硬又长免费| 精品国产污污免费网站aⅴ| 免费在线中文日本| 中国黄色免费网站| 青青青视频免费观看| 亚洲AⅤ男人的天堂在线观看|