늅늅
545
2018-11-26 18:11:11
10
976

스프링 서비스 호출시 널포인트 에러


안녕하세요 늅늅입니다.


spring 버젼 : 3.1

java : 1.6


A.jsp

Common comm = new Common();
String abc = comm.cocheck(request);


Common.java

public class Common {

	@Resource(name="aService")
	private AService aService;

	public String cocheck(HttpServletRequest request) {
	       Map<String,Object> commandMap = new HashMap<String,Object>();
                  
                commandMap.put("A"."A");
                System.out.println(commandMap .get("A")); //정상 출력
                aService.cocheck(commandMap); //nullpoint 에러 


		return "TEST";
	}

}


Common.java 은 컨트롤러가 아닙니다.

aService.cocheck(commandMap); //nullpoint 에러 



    aService.cocheck(commandMap); 우선 이 서비스는 이상이 없습니다. 다른 컨트롤에서도 정상적으로 사용중이며 디버깅 했을 경우 서비스로 넘어가기전 저 부분에서 에러가 발생 합니다.

제가 스프링 구조를 이해를 하지 못해서인것 같은데요

에러나는 이유가 dispatcher 를 사용 하지 않고 바로 객체를 생성 한후 스프링 서비스?? 객체를 사용 할려고 하니 에러가 발생 하는것 같습니다.

제가 이해 하고 있는게 맞는지 아니면 다른 이유가 있는지 궁긍 합니다. 

그리고 현재 상황이 어쩔수 없이 A.jsp에서 서비스를 호출 할려고 하는데 위 소스에서 해결 방법이 있을까요?




0
0
  • 답변 10

  • 재민
    572
    2018-11-26 18:30:17

    stacktrace를 올려주세요.

    0
  • 20170923
    1k
    2018-11-26 18:38:12

    A.jsp는 저게 전부인가요?

    그렇다면 Common.java import 해주세요

    <%@ page import="Common java 위치" %>

    0
  • 늅늅
    545
    2018-11-26 18:39:43
    java.lang.NullPointerException
    	at com.service.control.Common.cocheck(Common.java:231)
    	at org.apache.jsp.booking.A_jsp._jspService(A_jsp.java:92)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

    입니다.


    0
  • 늅늅
    545
    2018-11-26 18:41:57
    <%@ page language="java" import="com.service.control.Common" %>

    로그 및 디버깅을 확인 결과 jsp에서 나는 에러는 아닌것 같습니다.

    0
  • 20170923
    1k
    2018-11-26 18:51:33
    Common.java:231

    저 로우 확인해보시면 될거같네요

    0
  • 20170923
    1k
    2018-11-26 18:53:23
    public String cocheck(HttpServletRequest request) {
    	       Map<String,Object> commandMap = new HashMap<String,Object>();
                      
                    commandMap.put("A"."A");
                    System.out.println(commandMap .get("A")); //정상 출력
                    aService.cocheck(commandMap); //nullpoint 에러 
    
    
    		return "TEST";
    	}


    근데 저거 request 받아서 아무데서도 안쓰는건 의도하신건가요?

    0
  • 늅늅
    545
    2018-11-26 18:57:10 작성 2018-11-26 18:58:13 수정됨

    쓸려고 합니다.

    처음에는 request 쪽 때문에 에러 나는줄 알고 코딩 되어 있었으나

    디버깅을 쉽게 하기 위해 의도적으로 뺀 상태입니다.


    Common.java:231  => 이부분이 aService.cocheck(commandMap); //nullpoint 에러 여기 부분입니다.

    0
  • 20170923
    1k
    2018-11-26 19:01:32

    그럼 aService.cocheck 이 부분을 못찾는거같습니다 resources 선언부쪽 확인해보시는게 좋을거같네요

    0
  •  (づ。◕ ܫ ◕。)づ
    4k
    2018-11-26 20:03:01

    common이 빈 컨테이너에 등록되있지 않다면 의존성 주입 되지 않습니다.

    0
  • 늅늅
    545
    2018-11-27 08:31:23

    #20170923

    #KDEV

    답변 감사 합니다.

    @Component 컴포넌트 등록을 해도 마찬가지네요.  

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.