我在一个类中声明一个HttpServletRequest request属性;
该类中包含setRequest(HttpServletRequest req){
this.request=req;
}
有个输出的方法 在里面用request.getParameter("属性名")获得到的值是NULL
但是在setRequest中使用req.getParameter("属性名")就能获得到值;
PS:2个属性名完全一样为什么会这样?
期待解答
该类中包含setRequest(HttpServletRequest req){
this.request=req;
}
有个输出的方法 在里面用request.getParameter("属性名")获得到的值是NULL
但是在setRequest中使用req.getParameter("属性名")就能获得到值;
PS:2个属性名完全一样为什么会这样?
期待解答
只是在该方法里用req能获得到 在用request就不行了 到底怎么办 疯了 疯了
这个是那个调用定时器任务的servlet
package myServlet;import java.io.IOException;
import java.io.PrintWriter;
import java.util.Timer;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import myClass.myTimerTask;public class ActionServlet extends HttpServlet { /**
* Constructor of the object.
*/
public ActionServlet() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String url=request.getParameter("url");
String fid=request.getParameter("fid");
String tid=request.getParameter("tid");
int interval=Integer.parseInt(request.getParameter("interval"));
String content=request.getParameter("content");
String type=new String(request.getParameter("type").getBytes("ISO-8859-1"),"gbk");
String forwardUrl=url+"?step=2&action=reply&editor=0&atc_attachment=none&fid="+fid+"&tid="+tid+"&atc_content="+content+"";
Timer myTimer=new Timer(true);
if(type.equals("开始")){
myTimerTask test=new myTimerTask();
test.setRequest(request);
myTimer.schedule(test, 0, interval*1000);
}else{
myTimer.cancel();
}
} /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request,response);
} /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occure
*/
public void init() throws ServletException {
// Put your code here
}}
这个是那个继承TimerTask的类package myClass;import java.io.IOException;
import java.util.TimerTask;import javax.servlet.ServletException;
import javax.servlet.http.*;public class myTimerTask extends TimerTask {
HttpServletRequest request;
HttpServletResponse response;
String forwardUrl="";
/*public myTimerTask(HttpServletRequest req,HttpServletResponse res,String str){
request=req;
response=res;
forwardUrl=str;
使用构造方法也不可以
}*/
public void setRequest(HttpServletRequest req){
req.getParameter("url");
// 用req就能获得里面的值
request=req;
}
public void run() {
try {
// 在这里用requset就输出NULL
System.out.println(request.getParameter("url"));
//request.getRequestDispatcher(forwardUrl).forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}}