Servlets 无法读取请求。getInputStream
下面是我的动作课Servlets 无法读取请求。getInputStream,servlets,struts2,Servlets,Struts2,下面是我的动作课 import java.io.InputStream; import javax.servlet.ServletInputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.opensymphony.xwork2.ActionSupport; import org.apache.struts2.Servl
import java.io.InputStream;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
public class AccessRequest extends ActionSupport implements
ServletRequestAware,ServletResponseAware {
/**
*
*/
private static final long serialVersionUID = 1L;
private HttpServletRequest request;
private HttpServletResponse response;
/**
* @return the response
*/
public HttpServletResponse getResponse() {
return response;
}
/**
* @param response the response to set
*/
public void setResponse(HttpServletResponse response) {
this.response = response;
}
/**
* @return the request
*/
public HttpServletRequest getRequest() {
return request;
}
/**
* @param request the request to set
*/
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public void setServletRequest(HttpServletRequest request){
this.request = request;
}
public HttpServletRequest getServletRequest(){
return request;
}
public void setServletResponse(HttpServletResponse response){
this.response = response;
}
public HttpServletResponse getServletResponse(){
return response;
}
public String execute() throws Exception{
request = ServletActionContext.getRequest();
InputStream in = null;
ServletInputStream si = request.getInputStream();
System.out.println(si.available());//Getting 0
System.out.println(request.getContentLength()); //Getting 938
return SUCCESS;
}
}
我得到si.available()=0,其中作为请求。getContentLength()显示938
为什么struts没有读取请求。getInputstream
在Struts2中使用Servlet时,我面临同样的问题
有什么想法吗?据我所知,请帮忙
Struts框架使用getParameter将数据填充到表单bean中
在调用execute方法之前,我们不能使用request.getInputStream
请纠正我,如果它的工作你已经问过这个问题:请不要再次发布相同的问题。如果您觉得答案不适合您,或者您没有得到好的答案,那么您应该使用
edit
链接来更新/改进您的问题。我只在struts中遇到这个问题。在JSF和普通servlet项目中,它工作得很好。我有点好奇地知道“request=ServletActionContext.getRequest();”得到的是什么值。请检查您的请求是否为空。不,我没有得到空值