2011-03-02 2 views
0

저는 Java EE에 익숙하며 여전히 익숙하지 않습니다.자바 EE 추가 항목 ... 논리적 인 문제?

는 우리의 HashMap을 사용하여 항목을 저장하도록 지시하고 있지만 내 문제는 내가 클래스 내 서블릿에서 몇 가지 문자열을 읽을 수 있도록하는 방법을 몰라

이 내 Servelet 코드입니다 :

import java.io.IOException; 
import javax.servlet.RequestDispatcher; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class AddData extends HttpServlet { 

    public void doGet(HttpServletRequest request, 
      HttpServletResponse response) 
      throws ServletException, IOException { 

     String id = request.getParameter("newid"); 
     String name = request.getParameter("newStockName"); 
     String uprice = request.getParameter("newUPrice"); 
     String onStock = request.getParameter("newOnStock"); 

     DataServClass service = new DataServClass(); 

     /*I am planning to call a method from my DataServClass 
      like: 
      Item item = service.AddData(id); 
      --> not really sure with what i am doing <-- 
     */ 

    } 
} 

이 내 DataServClass입니다 :

public class DataServClass { 
    HashMap itemList = new HashMap(); 
    public DataServClass() { 
     itemList.put("BPEN", new Item("BPEN", "Ballpen", 5.50, 400)); 
     itemList.put("BONDA4", new Item("BONDA4", "A4 BondPaper", 250.00, 35)); 
     itemList.put("PCLIP22", new Item("PCLIP22", "PaperClip No.22", 15, 30)); 
     itemList.put("CD", new Item("CD", "Blank CD", 4.50, 550)); 

    } 
    public void AddData(){ 
     /*this is what i am planning to do but don't know what to key should i replace with 
      "this" 
      --> itemList.put(this, this); 
     */ 
    } 

    public Item retrieveData(String id) { 
     if (itemList.containsKey(id)) { 
      Item item = (Item) itemList.get(id); 
      return item; 
     } 
     return null; 
    } 
} 

나는 또한 세션의 사용법을 생각하고있다. 그러나 그것을 선언하는 방법을 아직도 모른다. .. 당신이 나를 도울 수 있기를 바란다. .. thankfully 많이.

답변

1

명확하지 않은 물건이 거의 없다. 예를 들어 :

무엇 "저장"않습니다이 맥락에서 의미의 HashMap

를 사용하여 항목을 저장? 일부 데이터베이스에서이 값을 유지 하시겠습니까? 또한 세션을 사용하려는 이유가 명확하지 않습니다. 같은 (자바 명명 규칙을 따라 해보세요 :

// in servlet 
Item item = new Item(id, name, unprice, onStock); 
service.AddData(item); 

// in your DataServClass 
public void AddData(Item item){ 
    itemList.put(item.getId(), item); 
} 

비 관련 참고 :

어쨌든, 당신의 itemList에에 서블릿에서 당신이 가지고있는 "항목"을 추가하기 위해, 당신은이 작업을 수행 할 수 있습니다 , 소문자로 시작하는 메소드). 클래스 DataServClass의 "클래스"부분을 생략 할 수도 있습니다 ;-)

+0

thnx partenon^_ ^ – iamanapprentice

관련 문제