裏面我有一個servlet訪問從一個線程請求對象一個servlet
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
對象不爲空,我檢查過了。 有誰知道我是否可以訪問新的Thread
內的請求對象?
只是爲了更清楚:我想訪問請求在線程內,因爲它有一個很大的for()語句,我不想爲()語句運行另一個' – 2012-07-26 18:11:02