将请求从jsp传输到java
我有一个jsp文件:将请求从jsp传输到java,java,jsp,Java,Jsp,我有一个jsp文件: ... import <%@ page import="classPath.ExampleClass" %> <% ExampleClass cl = new ExampleClass(request); %> 因此,我希望收到完整的请求,用Java对其进行评估。但在部署过程中会出现以下错误: Cannot process HttpRequest to Servlet 为什么?不要弄乱。使用JSP JSP隐式对象是JSP容器在每个页面
... import <%@ page import="classPath.ExampleClass" %>
<%
ExampleClass cl = new ExampleClass(request);
%>
因此,我希望收到完整的请求,用Java对其进行评估。但在部署过程中会出现以下错误:
Cannot process HttpRequest to Servlet
为什么?不要弄乱。使用JSP
JSP隐式对象是JSP容器在每个页面中为开发人员提供的Java对象,开发人员可以直接调用它们,而无需显式声明。JSP隐式对象也称为预定义变量
只要写
<%
ExampleClass cl = new ExampleClass(request);
%>
像这样创建bean类
public class ExampleClass{
HttpServletRequest request;
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
}
现在用jsp标记传递隐式request
对象
<jsp:useBean id="exampleClass" class="classPath.ExampleClass" scope="request"/>
<jsp:setProperty name="exampleClass" property="request" value="${pageContext.request}"/>
在jsp中添加以下指令:
<jsp:useBean id="bean" class="classPath.ExampleClass" scope="request">
<jsp:setProperty name="bean" property="*" />
<jsp:setProperty name="bean" property="request" value="${pageContext.request}" />
</jsp:useBean>
请注意,属性fieldValue
是一个自定义字段,您可以添加该字段,并可以通过表单提交进行设置,如上所述:
<form method="post">
<input name="feildValue" type="text" value="${bean.fieldValue}"/>
<input name="btnSubmit" type="submit" value="Submit"/>
</form>
您正在使用旧版应用程序吗?如果没有,请尝试将逻辑与视图分离,并使用MVC框架。混合使用JSP和控制器逻辑被认为是不好的做法您使用的是哪台web服务器?错误到底是什么,是例外吗?你能分享堆栈跟踪吗?你说的MVC框架到底是什么意思?你能给我举个例子吗?请加上stacktrace@user1860908请检查或
public class ExampleClass {
private HttpServletRequest request;
private String fieldValue;
public void doLogic() {
// do your controller logic here
}
public HttpServletRequest getRequest() {
return request;
}
public String getFieldValue() {
return fieldValue;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
doLogic();
}
public void setFieldValue(String fieldValue) {
this.fieldValue = fieldValue;
}
}
<form method="post">
<input name="feildValue" type="text" value="${bean.fieldValue}"/>
<input name="btnSubmit" type="submit" value="Submit"/>
</form>