2011-08-08 3 views
0

まあ、基本的に私のstrutsサーブレットは正しく動作していません。 \ SRC \ BO \ DisplayCartServlet.javaStrutsが私のサーブレットを呼び出していません。私は間違って何をしていますか?

package action; 

    import java.io.*; 
    import java.sql.SQLException; 

    import javax.servlet.*; 
    import javax.servlet.http.*; 
    import org.apache.struts.action.*; 

    import bo.*; 
    import dao.*; 

    public class DisplayCartServlet extends Action 
    { 
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, 
     HttpServletResponse response) 
     throws IOException, ServletException 
    { 

     String forward = new String("success");  ; 
     String productCode = request.getParameter("productCode");  

     HttpSession session = request.getSession(); 

     Cart cart = (Cart) session.getAttribute("cart"); 
     if (cart == null) 
     { 
      cart = new Cart(); 
      session.setAttribute("cart", cart); 
     } 

     int quantity = 1; 

     // Get product from product code 
     Product product=null; 
    try { 
     product = ProductDB.selectProduct(productCode);   
    } catch (SQLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
     session.setAttribute("product", product); 

     // If product exists, add or remove from cart 
     if (product != null) 
     { 
      LineItem lineItem = new LineItem(); 
      lineItem.setProduct(product); 
      lineItem.setQuantity(quantity); 
      if (quantity > 0) 
       cart.addItem(lineItem); 
      else 
       cart.removeItem(lineItem); 
     } 
     session.setAttribute("cart", cart); 

     return(mapping.findForward(forward)); 
    } 

} 

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> 
     <constant name="struts.enable.DynamicMethodInvocation" value="false" /> 
     <constant name="struts.devMode" value="false" /> 
       <package name="example" namespace="/example" extends="struts-default">   
        . . . . 

        <action name="cart" class="action.DisplayCartServlet" > 
         <result name="success">/example/cart.jsp</result> 
        </action>   

       </package> 
    </struts> 

listProducts.jspリンク

のJavaリソース:何かが間違っているの下に表示された場合は教えてくださいストラットとサーブレットを起動する

<div id="cartLink"><a href="<s:url action="cart?productCode=XM123456"/>">Add to Cart</a></div> 
+0

エラーメッセージが表示されますか? – sreeprasad

+0

要求されたリソースが取得できません。 – Mike

+2

これはサーブレットではありません。これはstruts1アクションクラスです。サーブレットが実際にどのようなものかを知るには、サーブレットタグのwikiページを読んでください:http://stackoverflow.com/tags/servlets/info質問履歴を見ると、Java EE(JSP/Servlet)の基本的な概念がたくさんあると思います間違っているか混乱している。私はコードの一時停止を取って基本的な概念を理解するための基本的なJava EE Web開発チュートリアル/書籍を最初に試してみることをお勧めします。 Java EEをステップごとに学びます。まだ大きなプロジェクトでは潜ってはいけません。上から下に向かってではなく、下から上に向かって作業します。 – BalusC

答えて

1

あなたはStrutsの1アクションクラスを作成しているので、あなたのアプリケーションが正しく動作していないが、あなたはのStruts 2の構成 XMLを使用して設定しようとしています。

Struts 1 and Struts 2 are very different

のStruts 1つの構成をstruts-config.xmlと呼ばれている:http://struts.apache.org/dtds/struts-config_1_3.dtd

のStruts 2の構成は、struts.xmlと呼ばれている:http://struts.apache.org/dtds/struts-2.0.dtd

あなたは(@BalusCが指摘したように、サーブレットではありません)Strutsの1 Actionクラスを作成しますのでstruts-config.xml ...

あるいは、

を使用して、それを構成する必要があります。 Struts 2クラスを作成して、の設定と一致させる必要があります。

+0

巨大なセンスを作り出します。 。 。ありがとうdpb !!! – Mike

1

ウェブサーバーのログを確認して、適切なエラー、つまり問題に固有の例外を見つけてください。問題の絞り込みに役立ちます。

関連する問題