隨筆-23  評(píng)論-0  文章-5  trackbacks-0
           

           

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

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

          3、刪除現(xiàn)在的項(xiàng)目,提前設(shè)置好編譯文件輸出路徑,重新導(dǎo)入源文件,設(shè)置MyEclipse為保存時(shí)編譯,然后在保存的時(shí)候就可以自動(dòng)編譯了。

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

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

          6、還有種情況是remove掉 JRE System Library,重新導(dǎo)入即可編譯。但是什么原因?qū)е碌倪€不清楚。

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

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

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

           

          posted @ 2014-04-24 15:48 ForMeBlog 閱讀(12285) | 評(píng)論 (0)編輯 收藏
                  weblogic安裝的系統(tǒng)是window,weblogic版本是8.1.5版本,運(yùn)行weblogic服務(wù)后,查看bea\user_projects\domains\mydomain\myserver目錄下myserver.log文件(我這邊建的服務(wù)是默認(rèn)的服務(wù)myserver,如果你沒有用默認(rèn)服務(wù),那你就到你建的server下面找),以記事本的方式打開文件,查找file.encoding等于的值,這個(gè)默認(rèn)是系統(tǒng)的編碼,如果系統(tǒng)編碼不適合你當(dāng)前的編碼,可以通過下面方式修改我們weblogic的編碼。
                  一、首先修改啟動(dòng)文件startWebLogic.cmd,將編碼改變
                        startWebLogic.cmd文件在bea\user_projects\domains\mydomain目錄下,以記事本方式打開,拉到最下面有一下內(nèi)容:
                        
          %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",中間要用空格但是不要換行。
                  二、重新啟動(dòng)weblogic服務(wù)
                       重啟weblogic服務(wù)后,可以到bea\user_projects\domains\mydomain\myserver目錄下查看myserver.log文件里面的file.encoding值變成了UTF-8,則證明修改成功了。
          posted @ 2014-04-09 16:53 ForMeBlog 閱讀(8728) | 評(píng)論 (0)編輯 收藏
          一、搭建框架的目的
              主要學(xué)習(xí)了解各個(gè)框架之間如何結(jié)合使用。了解用戶訪問到返回給用戶結(jié)果的流程怎樣進(jìn)行,原理是什么。怎樣才能深入理解使用框架。
          二、項(xiàng)目實(shí)現(xiàn)目標(biāo)
              用戶訪問頁(yè)面填寫用戶名和密碼,進(jìn)過后臺(tái)處理返回登錄成功或失敗。
          三、理解項(xiàng)目流程
              首先,用戶訪問login.jsp頁(yè)面,瀏覽器顯示登錄要填寫的信息,點(diǎn)擊提交后首先在web.xml里面配置Struts攔截器會(huì)處理,之后轉(zhuǎn)到struts.xml,根據(jù)用戶訪問的請(qǐng)求找到相應(yīng)的配置,根據(jù)配置找到applicationContext.xml里面bean對(duì)于的Java文件,對(duì)于這個(gè)對(duì)象Spring里面有數(shù)據(jù)庫(kù)操作類的注入,這使得Action類能夠連接數(shù)據(jù)庫(kù)并處理數(shù)據(jù),Action類里面返回處理結(jié)果,根據(jù)struts.xml配置返回相應(yīng)的界面。
              下載項(xiàng)目文件
          四、數(shù)據(jù)庫(kù)代碼
          1create table USERINFO
          2(
          3  ID       NUMBER,
          4  USERNAME VARCHAR2(50),
          5  PASSWORD VARCHAR2(50)
          6)


          posted @ 2014-03-07 17:53 ForMeBlog 閱讀(480) | 評(píng)論 (0)編輯 收藏
               摘要:    學(xué)習(xí)能力代表著成長(zhǎng)的加速度,大家上場(chǎng)的時(shí)候,其實(shí)速度都差不到那里去。但是過了幾年,差距就拉大了。因?yàn)橛腥嗽?5 檔上飚車,有人在 1 檔慢慢前行…還有在開倒車。   對(duì)于職場(chǎng)新人,雇主在學(xué)習(xí)能力方面更為重視。畢竟和有經(jīng)驗(yàn)的員工相比,公司招應(yīng)屆生,你的潛力還是一個(gè)關(guān)鍵因素。   本文包括 3 部分: ·   &nbs...  閱讀全文
          posted @ 2014-02-24 11:15 ForMeBlog 閱讀(290) | 評(píng)論 (0)編輯 收藏
            
          初學(xué)struts也是一知半解,比如action與dispatchAction的區(qū)別,最近便讓我十分困惑。  

          做為一個(gè)初學(xué)者,在目前使用過的東西中,主要有mapping.findForward(),action,dispatchAction三個(gè)實(shí)用功能,這三者放在一起本不太合適,但是在我看來(lái),也有一定的相關(guān)性。  

          struts主要用途
          1. 判斷url傳值所要做的操作。比如 http://www.baidu.com/index.jsp?run=showAll ,這個(gè)如果使用了action,可以使用request.getParameter()接收。
          2. 使用mapping.findForward(url);替換servlet的response.sendRedirect("http://www.baidu.com");
          3. 把form提交的內(nèi)容封裝到formBean。這樣在使用了大量form的時(shí)候,可以用formBean的一實(shí)例lf.formName這樣去調(diào)用。
          好處在于不用使用request.getParameter("formName");去接收。
          4. 使用dispatchAction,在struts-config.xml中進(jìn)行配置,直接可以判斷get鏈接中的傳值,也可以避免使用request.getParameter("formName");去接收。

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

          Action與dispatchAction的區(qū)別: 
          這里使用區(qū)別并不合適,因?yàn)閐ispatchAction繼承自Action,所以dispatchAction是對(duì)action進(jìn)行了功能的擴(kuò)充,action常需要使用getParameter()先獲取傳入的值,再判斷這個(gè)值是否正常,再重定向到不同的頁(yè)面。 
          而dispatchAction把判斷放以了struts-config.xml文件中,而不需要再到業(yè)務(wù)層進(jìn)行判斷。并且dispatchAction在使用中,更常用于處理url傳入的get請(qǐng)求。


          Struts的生存周期

          啟動(dòng)web服務(wù)器 -- 加載web.xml文件 -- 產(chǎn)生ActionServlet實(shí)例 -- 加載struts-config.xml文件 -- 解析出多個(gè)action并放入actionMapping池 
          客戶端發(fā)現(xiàn)請(qǐng)求 -- web容器 -- 請(qǐng)求發(fā)送到ActionServlet -- 分發(fā)到不同的action并實(shí)例化 -- 模型層處理 -- 處理結(jié)果返回到actionServlet -- 返回結(jié)果到視圖層

          舉例
          下面是一個(gè)使用了dispatchAction的項(xiàng)目的完整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"對(duì)應(yīng)于下文中的name="loginForm"
          <form-bean name="loginForm" type="org.jsw.struts.form.LoginForm" />
          </form-beans>
          <action-mappings >

          <action                    //定義了一個(gè)action
          path="/manager"           //此action的訪問路徑
          name="loginForm"          //此action用于接收哪個(gè)formbean,對(duì)應(yīng)于上文<form-beans>中的內(nèi)容
          parameter="method"      //此action用于接怍method的值,如果method值是add,那么自動(dòng)調(diào)用業(yè)務(wù)層的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 閱讀(483) | 評(píng)論 (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、字符串轉(zhuǎn)inputStream

           

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

          2、InputStream轉(zhuǎn)字符串

           

          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

           

          這聽起來(lái)有點(diǎn)荒謬,OutputStream本來(lái)就是輸出源,還寫入String?

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

           

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


          將InputStream/OutputStream轉(zhuǎn)換成string

           

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

          具體代碼如下:

           

          首先從輸入流中將數(shù)據(jù)讀出來(lái)寫入ByteArrayOutputStream,然后再將其轉(zhuǎn)換成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();//讀取完畢,關(guān)閉輸入流  
          12.   
          13. // 根據(jù)輸出流創(chuàng)建字符串對(duì)象  
          14. new String(bos.toByteArray(), "UTF-8");  
          15. //or  
          16. //bos.toString("UTF-8");  

           

          根據(jù)同樣的原理,我們可以將outputstream直接轉(zhuǎn)換成String對(duì)象。



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



          OUTPUTSTREAM中方法WRITE用法

           void write(byte[] b) 
                    將 b.length 個(gè)字節(jié)從指定的 byte 數(shù)組寫入此輸出流。 
           void write(byte[] b, int off, int len) 
                    將指定 byte 數(shù)組中從偏移量 off 開始的 len 個(gè)字節(jié)寫入此輸出流。 
          abstract  void write(int b) 
                    將指定的字節(jié)寫入此輸出流。 
          轉(zhuǎn)載地址:http://blog.csdn.net/soundtravel/article/details/6927006
          posted @ 2013-07-11 16:18 ForMeBlog 閱讀(360) | 評(píng)論 (0)編輯 收藏
          解決方案1(推薦):
          只需要在project build path中先移除JRE System Library,再添加庫(kù)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 閱讀(205) | 評(píng)論 (0)編輯 收藏
          在靜態(tài)頁(yè)面中,table標(biāo)簽里面的換行可以用<tr></tr>來(lái)實(shí)現(xiàn)換行,但是從數(shù)據(jù)庫(kù)里面讀出來(lái)的數(shù)據(jù)是數(shù)組,遍歷出來(lái)中間沒有辦法加入<tr></tr>實(shí)現(xiàn)換行,結(jié)果是頁(yè)面上顯示一列。現(xiàn)在可以解決了,你可以試一試用下面方法。
          下面是舉的一個(gè)例子你可以考到有struts 2環(huán)境的項(xiàng)目中看一下。
           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獲取數(shù)組的下標(biāo) -->
          24        </tr><tr>
          25       </s:if>
          26      </s:iterator>
          27      </tr>
          28      </table>
          29   </body>
          30 </html>
          posted @ 2012-03-17 18:47 ForMeBlog 閱讀(1918) | 評(píng)論 (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 閱讀(993) | 評(píng)論 (0)編輯 收藏

          在Struts2里,如果需要在Action中使用session,可以通過下面兩種方式得到
          1.通過ActionContext class中的方法getSession得到
          2.Action實(shí)現(xiàn)org.apache.struts2.interceptor.SessionAware接口的方式來(lái)對(duì)session進(jìn)行操作


          一、
          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");  //設(shè)置session      

                       return SUCCESS;      
              }  

          }

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

           


          二、下面是一個(gè)實(shí)現(xiàn)org.apache.struts2.interceptor.SessionAware接口來(lái)對(duì)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;       
              }  
          }

           

          下面是一個(gè)在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中文網(wǎng):http://www.javaweb.cc/</title>  
          </head>  
          <body>  
          <h1><s:property value="#session.USER_NAME"/></h1>   <h1></h1>  
          </body>  
          </html>

          此文章經(jīng)過修改,根據(jù)Java中文網(wǎng)
          地址是:http://javaweb.cc/architecture/struts/261792.shtml

          posted @ 2011-10-22 10:13 ForMeBlog 閱讀(1312) | 評(píng)論 (0)編輯 收藏
          僅列出標(biāo)題
          共3頁(yè): 上一頁(yè) 1 2 3 下一頁(yè) 
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          我做的網(wǎng)頁(yè)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 兴义市| 合水县| 鞍山市| 阿城市| 大英县| 新安县| 扎鲁特旗| 勃利县| 潜江市| 江津市| 西吉县| 新疆| 怀化市| 金秀| 蒲城县| 福贡县| 库车县| 田阳县| 枝江市| 绥芬河市| 莱阳市| 南丰县| 宿州市| 克什克腾旗| 于都县| 昌黎县| 县级市| 鹤山市| 迁西县| 玉山县| 墨竹工卡县| 竹山县| 贺兰县| 临邑县| 玉树县| 新蔡县| 仁布县| 黄山市| 鹰潭市| 芦溪县| 嘉黎县|