내부 스레드에서 요청 객체에 접근이 코드는 서블릿서블릿
public void doPost(HttpServletRequest request, HttpServletResponse response) {
final HttpServletRequest requestF = request;
Runnable runner = new Runnable() {
public void run() {
String something = requestF.getParameter("anything");
//do other things...
}
};
Thread thread = new Thread(runner);
thread.start();
에서 실행해야하지만 요청 개체의 매개 변수를 얻을하려고 할 때 예외를 발생시킵니다.
Exception in thread "Thread-25" java.lang.NullPointerException
at org.apache.catalina.connector.Request.parseParameters(Request.java:2560)
at org.apache.catalina.connector.Request.getParameter(Request.java:1086)
at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:355)
at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:158)
at br.com.test.controller.ajax.MyServlet$1.run(MyServlet.java:54)
at java.lang.Thread.run(Thread.java:619)
requestF
개체가 null이 아닌지 확인했습니다. 누군가가 새로운 Thread
안에 요청 개체에 액세스 할 수 있는지 알고 있습니까?
그냥 좀 더 명확하게하기 위해 : 나는 액세스하려면 'for()'문을 가지고 있고 다른'for()'문을 실행하고 싶지 않으므로 스레드 내부에서 요청하십시오. –