ログイン検証struts 2


struts 2基礎学習
キーワード:struts、Error filterStart、java.lang.NoClass DefFoundError:org/apphe/commons/logFactory
 
1:
http://struts.apache.org/download.cgi#struts206  ダウンロード
  • Full Distribution:
  • 2:新規プロジェクト名struts 2
    3:jdk 1.6 tomcatです  apache-tomcat-6.0.16
    4:libの中にxwork-2.05.jarを置いています。struts 2-core-2.1.0.11.2.jar、ognl-2.61.jar、logl 4 J-1.2.14.jar、comons-loging-1.04.jar  ここで注意したいのは、ダウンロードしたばかりのstrutsの下のlibを全部プロジェクトのlibに置かないことです。struts 2のプラグイン概念はプラグインパッケージを導入するとウェブで対応が必要です。(まだよく分かりません。簡単に言います。)
    5:私のweb.xmlの内容は以下の通りです。
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
    	xmlns="http://java.sun.com/xml/ns/j2ee" 
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    	
    
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        </filter>
    
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
        
    	
    	
    	
    	<welcome-file-list>
    		<welcome-file>index.jsp</welcome-file>
    	</welcome-file-list>
    	
    	
    	
    </web-app>
    
     
    6:index.jspの内容は以下の通りです。
    <%@ page language="java" contentType="text/html;charset=GBK" %>
    
    
    
    <html>
    
    <head>
      <title>    </title>
    </head>
    <body>
    
       <!--           -->
       <form action="Login.action" method="post">
           <table align="center">
           <caption><h3>    </h3></caption>
           
             <tr>
              <td>   :<input type="text" name="username" /></td>
              
             </tr>
           
             <tr>
              <td>    :<input type="text" name="password"/></td>
             </tr>
             
             <tr>
               <td colspan="2"><input type="submit" value="  " />
                               <input type="reset" value="  " />
                </td>               
             </tr>
           
          </table>
    </form>
    </body>
    </html>
    
    
    
     
    7:LoginnAction.javaの内容は以下の通りです。
    package com.test;
    
    public class LoginAction {
    	private String username;
    	private String password;
    	public String getPassword() {
    		return password;
    	}
    	public void setPassword(String password) {
    		this.password = password;
    	}
    	public String getUsername() {
    		return username;
    	}
    	public void setUsername(String username) {
    		this.username = username;
    	}
    	
    	
    
    	public String execute() throws Exception
    	{
    		if(getUsername().equals("scott")&&getPassword().equals("tiger"))
    		{
    			return "success";
    		}
    		else
    			return "error";
    		
    			
    		
    		
    	}
    	
    	
    }
    
     
    8:struts.xmlは以下の通りです。
    <?xml version="1.0" encoding="UTF-8" ?>   
    <!DOCTYPE struts PUBLIC   
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
        "http://struts.apache.org/dtds/struts-2.0.dtd">   
    <struts>   
        <package name="strutsqs" extends="struts-default">   
            <action name="Login" class="com.test.LoginAction">   
                <result name="success">/test/welcome.jsp</result> 
                <result name="error">/test/error.jsp</result>   
            </action>   
        </package>   
    </struts>  
     
    9:welcome.jsp
    <%@ page language="java" contentType="text/html;charset=GBK" %>
    
    
    
    <html>
    
    <head>
      <title>    </title>
    </head>
    <body>
    
     welcome
    </body>
    </html>
    
    
    
     
    10:error.jsp
    <%@ page language="java" contentType="text/html;charset=GBK" %>
    
    
    
    <html>
    
    <head>
      <title>    </title>
    </head>
    <body>
    
     error!
    </body>
    </html>
    
    
    
     
     注意する問題は:
         エラー1:Error filterStart
      tomcat logsを見ます
    以下のとおりです
      : Exception starting filter struts2
    java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    	at org.apache.struts2.dispatcher.FilterDispatcher.<clinit>(FilterDispatcher.java:149)
     struts.dispatcherがlogl 4 j.jarを呼び出しますが、プロジェクトは引用されていませんので、logl 4 j.jarを入れました。
     
        エラー2:
      : Exception starting filter struts2
    java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.InterruptedException
      これはどういう理由でカバンを導入しましたか? commons-loging-1.0.4.jar
     
     
     
     
    まとめ:私が感じているメリット
      1:プログラマを避けるために、毎回jarをlibの悪い習慣にします。
      2:プラグインの配置は学習と研究に値する。この思想はコンポーネント構造の開発フレームワークにとって重要である。
     
     
    みんなを歓迎して討論します!