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

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

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

    如何學好java

    如何學好java,其實很簡單,只要用心體會,慢慢積累!
    posts - 106, comments - 7, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    strus 圖解

    Posted on 2011-04-28 09:39 哈希 閱讀(194) 評論(0)  編輯  收藏 所屬分類: java 常用框架

    MyEclipse 怎樣手動編譯整個項目

    作者 Neot 寫于 2008-12-31 | 3,737 次瀏覽

    MyEclipse 菜單 Project->Build Automatically 選中后,項目的文件會被自動編輯。要想手動編譯整個項目,可使用菜單 Project->Build All 或 Project->Build Project。還有個比較笨的方法,就是運行整個項目。運行項目時,MyEclipse 會先對項目進行編譯。

    但是有個問題,Build All、Build Project 菜單項常常是恢掉的,不可執行。其實,這是因為我們勾選了 Project->Build Automatically 項。取消掉 Project->Build Automatically 后,Build All 和 Build Project 菜單項就可以用了。

    [ 標簽: myeclipse, 編譯 ]
    [ 固定鏈接:http://blog.tanggaowei.com/2008/12/myeclipse-2.html ]

    為什么取消 MyEclipse 驗證后還是有許多紅叉叉

    作者 Neot 寫于 2008-12-31 | 2,610 次瀏覽

    在 MyEclipse 的 windows–>perferences–>myeclipse–>validation 下,把除了manual 下面的全部點掉,build下只留 classpath dependency Validator,這樣設置后,MyEclipse就不會老是驗證 xml、jsp、html 等文件了。參考如下文章:

    Eclipse+MyEclipse的優化

    但是,我設置好了,在 Package Explorer 窗口卻還是有許多的紅叉叉。翻來覆去弄了好幾次,情況都一樣。最后,終于發現,在 Package Explorer 窗口 對項目點擊右鍵,在出現的菜單中執行“MyEclipse->Remove All Validation Markers”,所有的紅叉叉就都不見了。

    [ 標簽: myeclipse, 優化, 驗證 ]
    [ 固定鏈接:http://blog.tanggaowei.com/2008/12/myeclipse.html ]

    Eclipse 中怎樣添加 Subversion 插件

    作者 Neot 寫于 2008-10-30 | 3,280 次瀏覽

    Eclipse 中可以從菜單添加插件:[菜單]Help / Software Updates / Find and Install。在出現的 Install 窗口,選擇“Search for new features to install”項,點擊“Next”進入下一頁。然后點擊右側的“New Remote Site”按鈕,在出現的窗口中,設置“Name”項為“Subversion”,“URL”項為“http://subclipse.tigris.org/update/”,點擊“OK”按鈕。再點擊“Finish”按鈕,Ecplise 就會開始自動下載 Subversion 插件,并安裝了。

    像 MyEclipse、Carbide 這些基于 Eclipse 的開發工具,同樣適用這個方法。

    [ 標簽: Carbide, eclipse, myeclipse, subversion ]
    [ 固定鏈接:http://blog.tanggaowei.com/2008/10/eclipse-subversion.html ]

    MyEclipse開發SSH(Struts+Spring+Hibernate)入門

    作者 Neot 寫于 2007-12-13 | 16,744 次瀏覽

    (本文參考自 oksonic 的“Struts+Spring+Hibernate練習(完整)”)

    源碼下載:http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=2857703

    1. 準備

    工具:MyEclipse 6.0.1 GAmysql-connector-java-5.0.4-bin.jarMySql GUI Tools 5.0(便于管理MySql數據庫,不是必須)

    環境:Tomcat 5.5MySql 5.0

    1.1. 新建工程

    操作:[Menu] File/New/Web Project

    工程名:login

    2. Struts 部分


    2.1. 添加 Struts 功能支持

    操作:[Menu] MyEclipse/Project Capabilities/Add Struts Capabilities

    將 “yourcompany” 替換成 “login”。

    2.2. 創建 ActionForm 類

    操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.2 Form

    類名:LoginForm

    在 “Use case” 里輸入 “Login” 后,Name、Form type 等會自動填充。

    在 “Form Properties” 選項卡為 loginForm 新增兩個屬性:username、password,”Type” 和 “JSP input type” 分別保持默認的 “java.lang.String” 和 “text”;

    在 “JSP” 選項卡鉤選 “Create JSP form” 選項,將新建路徑改為 “/login.jsp”(login.jsp文件將被自動創建)。

    2.3. 創建 Action 類

    操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.2 Action

    類名:LoginAction

    在 “Form” 選項卡的 “Name” 項選擇 “loginForm”,”Input Source” 項輸入 “/login.jsp”。

    2.4. 創建 index.jsp 文件

    如果沒有,創建 index.jsp 文件,并添加一個指向 login.jsp 的鏈接:<a href = “login.jsp”>Login</a>

    2.5. 創建Forword類

    操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.2 Forword

    類名:indexForword

    “Name” 項輸入 “indexForword” ,”Path” 項選擇 “/index.jsp” 。

    2.6. 修改 LoginAction.java 文件

    修改 LoginAction 類的 execute 方法:

    public class LoginAction extends Action {

    public ActionForward execute ( ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response ) {
    LoginForm loginForm = ( LoginForm ) form;

    String username = loginForm.getUsername();
    String password = loginForm.getPassword();

    if ( username.equals ( “test” ) && password.equals ( “test” ) ) {
    return mapping.findForward ( “indexForword” );
    } else {
    return mapping.getInputForward();
    }
    }
    }

    2.7. 修改 login.jsp 文件

    修改 <html:form> 標簽:<html:form action=”/login”>

    2.8. 測試

    操作:[Menu] Run/Run,選擇 MyEclipse Server Application 方式運行

    要正常執行Run操作,需先安裝 Tomcat5.5 。

    點擊 index.jsp 頁面的 “Login” 鏈接,跳轉到 login.jsp 頁面。在 login.jsp 頁面輸入 “test/test”,應該會登錄成功,然后跳轉到 index.jsp 頁面;輸入 “test/123″ ,應該保持在 login.jsp 頁面。

    如果測試成功,證明 Structs 運行正常。

    如果運行出錯,請參考文章最后的“5. 問題集”。

    3. Spring 部分


    3.1. 添加 Spring 功能支持

    操作:[Menu] MyEclipse/Project Capabilities/Add Spring Capabilities

    Spring 版本( Spring version )選擇 “Spring 1″;

    開發包(libraries)選擇 “Spring 1.2 AOP Libraries、Spring 1.2 Core Libraries、Spring 1.2 Persistence Core Libraries、Spring 1.2 Persistence JDBC Libraries” 四項;

    JAR Library Installation 選擇 “copy checked…” ,”Library Folder” 項選擇 “/WebRoot/WEB-INF/lib”(這樣的話所需的類庫都將拷貝到項目目錄,方便以后的布署)。

    點擊 “下一步(Next)” 創建配置文件,修改文件路徑(Folder)到 “WebRoot/WEB-INF” 目錄(以便和Struts配置文件一起管理),文件名稱為默認的”applicationContext.xml”。

    點擊 “完成(Finish)” 。

    3.2. 配置 struts-config.xml 文件

    添加 Spring 插件(在 <message-resources> 標簽后面添加):

    <plug-in className=”org.springframework.web.struts.ContextLoaderPlugIn”>
    <set-property property=”contextConfigLocation” value=”/WEB-INF/applicationContext.xml” />
    </plug-in>

    修改 LoginAction 的配置(只需修改 type 屬性):

    <action-mappings >
    <action
    attribute=”loginForm”
    input=”/login.jsp”
    name=”loginForm”
    path=”/login”
    scope=”request”
    type=”org.springframework.web.struts.DelegatingActionProxy” />

    </action-mappings>

    綠色字體部份為被修改過的內容,這里將使用 spring 的代理器 DelegatingActionProxy 來對 Action 進行控制。

    3.3. 修改 Spring 配置文件 applicationContext.xml

    <?xml version=”1.0″ encoding=”UTF-8″?>
    <!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN” “http://www.springframework.org/dtd/spring-beans.dtd”>

    <beans>
    <bean name=”/login” class=”com.login.struts.action.LoginAction” singleton=”false”></bean>
    </beans>

    綠色字體是關于接受和處理 Action 控制權的配置內容,”com.login.struts.action.LoginAction” 即為原 struts 里的配置。

    3.4. 測試

    同上一次測試。測試成功證明 Spring 運行正常。

    如果運行出錯,請參考文章最后的“5. 問題集”。

    4. Hibernate 部分

    下面開始 Hibernate 部分,將原例修改為使用數據庫進行用戶名/密碼驗證。

    4.1. 創建 mysql 數據庫和表

    添加表的代碼如下:

    CREATE TABLE user_table(
    ID int NOT NULL auto_increment,
    USERNAME varchar(45) NOT NULL default ”,
    PASSWORD varchar(45) NOT NULL default ”,
    PRIMARY KEY (ID)
    )

    再添加一條記錄:

    insert into user_table (USERNAME,PASSWORD) values (‘test’,'test’)

    4.2. 創建 MyEclipse 數據庫驅動(DB Driver)

    操作:[Menu] MyEclipse/Prefrences/MyEclipse/Database Explorer/Database Driver/DB Brower

    在 DB Brower 的菜單中選擇 “New” ,”Driver Name” 項輸入 “login-conn” ,”Connection URL” 項輸入 “jdbc:mysql://localhost:3306/test” ,然后輸入 MySql 的用戶名(User Name)和密碼(Password),按實際情況輸入;

    在 “Driver JARs” 項添加 “mysql-connector-java-5.0.4-bin.jar” (可從網上下載),在 “Driver classname” 里選擇 “com.mysql.jdbc.Driver” ,其它自選。

    點擊 “完成(Finish)”。

    4.3. 添加 Hibernate 功能支持

    操作:[Menu] MyEclipse/Project Capabilities/Add Hibernate Capabilities

    Hibernate 版本(Hibernate Specification)選擇 “Hibernate 3.1″ ,開發包(libraries)選擇 Hibernate 3.1 Core Libraries 一項;

    JAR Library Installation 選擇 “copy checked…” ,”Library Folder” 選擇 “/WebRoot/WEB-INF/lib” 。

    點擊 “下一步(Next)” 設置配置文件:

    選擇 “Spring configuration file (applicationContext.xml)” 。

    “下一步(Next)” 設置 Spring-Hibernate:

    選擇 “Existing Spring configuration file” ,”SessionFactory ID” 項輸入 “sessionFactory” 。

    “下一步(Next)” 創建數據源對象:

    在 Bean Id 中輸入 dataSource,”DataSource” 項選擇 “Use JDBC Dirver” ,DB Driver 項選擇 “login-conn” ,其余項會自動填充。

    記得選中 “Copy DB driver jar(s) to project and add to buidpath” 項,以便將數據連接的庫文件復制到項目,方便以后的布署。

    “下一步(Next)” 創建 SessionFactory 類:

    “Java package” 項設置為 “com.login.Hibernate” (如果沒有,點擊 “New” 按鈕添加),”Class name” 項修改為 “SessionFactory” ,Java Compliance Level 選擇和創建項目時選擇的 Java 版本。(本例中并沒有用到 SessionFactory 類,留作今后擴展)

    點擊 “完成(Finish)”。

    4.4. 創建對象關系映射(ORM)的相關文件

    操作:[Menu] Window/Open Perspective/MyEclipse Database Explorer

    選中 user_table 表,點擊右鍵,在出現的菜單中選擇 “Hibernate Reverse Engnieering” 。

    在彈出的窗口中保持 “Java package” 項為 “com.login” ;

    選中 “Hibernate mapping file (*.hbm.xml) for each databases table” ,并保持 “Update hibernate…” 項選中;

    選中 “Java Data Object” 項,并保持 “Create abstract class” 選中;

    “Base persistent class” 項留空;

    取消 “Java Data Access Object…” 項和 “Use custom templates” 項。

    點擊 “下一步(Next)” ,再點擊 “下一步(Next)” ,在 “Configure reverse engineering details” 頁選中 “user_table” 表,在右邊出現的 “Class Name” 項中輸入 “com.login.User”,其它不變。

    點擊 “完成(Finish)”。

    完成此操作,會在 “com.login” 包下創建三個文件:AbstractUser.java、User.java、User.hbm.xml。

    4.5. 創建 UserDAO.java 接口

    操作:[Ctrl+N] Interface,點擊 “下一步( Next )”

    在出現的 “New Java Interface” 窗口中,將 “Source Folder” 設置為 “login/src”,將 “Package” 設置為 “com.login”, 將 “Name”  項設為 “UserDAO”,然后點擊 “完成( Finish )” 按鈕。

    UserDAO.java 內容如下:

    package com.login;

    public interface UserDAO {
    public abstract boolean isValidUser( String username, String password );
    }

    4.6. 創建 UserDAOImpl.java 類

    操作:[Ctrl+N] Class,點擊 “下一步( Next )”

    在出現的 “New Java Class” 窗口中,將 “Source Folder” 設置為 “login/src”,將 “Package” 設置為 “com.login”, 將 “Name”  項設為 “UserDAOImpl”,在 “Supperclass” 項輸入 “org.springframework.orm.hibernate3.support.HibernateDaoSupport”,在 “Interface” 項中添加 “com.login.UserDAO” 接口,然后點擊 “完成( Finish )” 按鈕。

    UserDAOImpl 通過 Hibernate 訪問數據庫,做用戶驗證。

    UserDAOImpl.java 內容如下:

    package com.login;

    import java.util.List;
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

    public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {
    private static String hql = “from User u where u.username=? “;

    public boolean isValidUser( String username, String password ) {
    // 驗證用戶
    List userList = this.getHibernateTemplate().find( hql, username );
    if ( userList.size() > 0 ) {
    return true;
    }
    return false;
    }
    }

    4.7. 修改 LoginAction.java 文件

    使用 UseDAO 對象來驗證:

    package com.login.struts.action;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import com.login.struts.form.LoginForm;
    import com.login.UserDAO;

    public class LoginAction extends Action {
    private UserDAO userDAO;

    public UserDAO getUserDAO() {
    return userDAO;
    }

    public void setUserDAO(UserDAO userDAO) {
    this.userDAO = userDAO;
    }

    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {

    LoginForm loginForm = (LoginForm) form;
    String username=loginForm.getUsername();
    String password=loginForm.getPassword();

    if( userDAO.isValidUser( username, password ) ){
    return mapping.findForward( “indexForword” );
    }else{
    return mapping.getInputForward();
    }
    }
    }

    綠色字體為修改部分。

    4.8. Spring 的最終配制文件 applicationContext.xml

    <?xml version=”1.0″ encoding=”UTF-8″?>
    <!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN” “
    http://www.springframework.org/dtd/spring-beans.dtd”>

    <beans>

    <bean id=”dataSource” class=”org.apache.commons.dbcp.BasicDataSource”>
    <property name=”driverClassName” value=”com.mysql.jdbc.Driver”></property>
    <property name=”url” value=”jdbc:mysql://localhost:3306/test”></property>
    <property name=”username” value=”root”></property>
    <property name=”password” value=”root”></property>
    </bean>

    <!– 配置sessionFactory, 注意這里引入的包的不同 –>
    <bean id=”sessionFactory” class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”>
    <property name=”dataSource”>
    <ref local=”dataSource” />
    </property>
    <property name=”mappingResources”>
    <list>
    <value>com/login/User.hbm.xml</value>
    </list>
    </property>
    <property name=”hibernateProperties”>
    <props>
    <prop key=”hibernate.dialect”>org.hibernate.dialect.MySQLDialect</prop>
    <prop key=”hibernate.show_sql”>true</prop>
    </props>
    </property>
    </bean>

    <bean id=”transactionManager” class=”org.springframework.orm.hibernate3.HibernateTransactionManager”>
    <property name=”sessionFactory”>
    <ref local=”sessionFactory” />
    </property>
    </bean>

    <bean id=”userDAO” class=”com.login.UserDAOImpl”>
    <property name=”sessionFactory”>
    <ref local=”sessionFactory” />
    </property>
    </bean>

    <bean id=”userDAOProxy” class=”org.springframework.transaction.interceptor.TransactionProxyFactoryBean”>
    <property name=”transactionManager”>
    <ref bean=”transactionManager” />
    </property>
    <property name=”target”>
    <ref local=”userDAO” />
    </property>
    <property name=”transactionAttributes”>
    <props>
    <prop key=”insert*”>PROPAGATION_REQUIRED</prop>
    <prop key=”get*”>PROPAGATION_REQUIRED,readOnly</prop>
    <prop key=”is*”>PROPAGATION_REQUIRED,readOnly</prop>
    </props>
    </property>
    </bean>

    <bean name=”/login” class=”com.login.struts.action.LoginAction” singleton=”false”>
    <property name=”userDAO”>
    <ref bean=”userDAOProxy” />
    </property>
    </bean>

    </beans>

    4.9. 測試

    同第一次測試。

    如果運行出錯,請參考文章最后的“5. 問題集”。

    5. 問題集

    5.1. Console 錯誤信息: java.net.BindException: Address already in use: JVM_Bind:8080

    • 原因:有其它進程占用了 8080 端口,導致綁定失敗。
    • 解決:如果是有 Tomcat 啟動了,將其關閉,MyEclipse 會自己啟動 Tomcat。

    5.2. HTTP 錯誤信息:message Servlet action is not available

    • 原因:找不到相關類。可能配置文件中的某些類或文件的路徑填寫錯誤,或是缺少 jar 包。
    • 解決:如果是在添加 Spring 特性后產生的,可能是 /WEB-INF/lib/ 中缺少 spring.jar 包。從 MyEclipse 目錄搜索出 1.2 版的 spring.jar,并將其復制到項目的 /WEB-INF/lib/ 目錄下。

    5.3. Console 錯誤信息:java.sql.SQLException: Access denied for user: ‘root@localhost’ (Using password: YES)

    • 原因:數據庫訪問被拒絕。可能由于 MySQL 密碼被設置成空,而 MyEclipse 又不支持空密碼。
    • 解決:將 MySQL 的 root 用戶密碼設置成非空,如 “root”,然后修改 MyEclipse 中剛才添加的 login-conn 數據源信息的密碼項。
    [ 標簽: hibernate, j2ee, myeclipse, spring, struts ]
    [ 固定鏈接:http://blog.tanggaowei.com/2007/12/myeclipsesshstrutsspringhibernate.html ]

    訂閱

     

    手機訪問

    http://blog.tanggaowei.com/wap/
    ?
    Google
     
    主站蜘蛛池模板: 波多野结衣久久高清免费 | 桃子视频在线观看高清免费完整| 久久久久久久久久免免费精品| 美女视频黄a视频全免费网站色| 亚洲AV成人无码久久WWW| 亚洲国产综合AV在线观看| 中文字幕在线观看亚洲日韩| 亚洲一区中文字幕在线电影网| 亚洲丝袜中文字幕| 亚洲中文字幕乱码一区| 日韩亚洲人成在线| 亚洲国产成人久久精品软件| 亚洲国产高清国产拍精品| 风间由美在线亚洲一区| 一级做a爰片性色毛片免费网站 | 亚洲国产成人久久综合一区| 亚洲男人第一av网站| 久久久久亚洲av无码专区蜜芽| 国产成人亚洲精品青草天美| 亚洲好看的理论片电影| 精品亚洲麻豆1区2区3区| 亚洲国产精品专区| 亚洲色最新高清av网站| 产传媒61国产免费| 99精品视频在线观看免费| 无码精品一区二区三区免费视频| 日韩人妻无码精品久久免费一| 久热中文字幕在线精品免费| 四虎成人免费影院网址| 亚洲成a人片在线观看久| 亚洲av不卡一区二区三区| 2020国产精品亚洲综合网| 无人视频免费观看免费视频| 日批视频网址免费观看| 中国人xxxxx69免费视频| 四虎影视免费在线| 国产亚洲精品不卡在线| 久久久久亚洲AV无码专区首JN| 国产精品亚洲片夜色在线| 草久免费在线观看网站| 全部免费毛片在线播放|