2

我有一个 Http Upload Servlet (http-post),用户可以上传一个 XML 文件以及一些表单字段。我已经进行了一些验证检查,看看是否有错误的请求(例如空值)。所以我使用以下代码块来执行该操作。

String myID = request.getParameter("ID");
if (myID .equalsIgnoreCase("")|| myID ==null)
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
else
myBean.setMyId(myID );

现在我设置了 response.setStatus,我想看看 response.getStatus 的样子,但是我没有在 HttpServletResponse 类中找到任何可以显示状态的方法(我的响应是 HttpServletResponse)。我需要将状态输出为一个名为 Server Response 的字段,作为对上传的响应。请帮我提出建议。

4

2 回答 2

0

servlet API 不提供直接执行此操作的方法,但您可以通过一些方法执行此操作。

  • 干净的方法是创建一个Filter包装真实HttpServletResponse对象的包装类,该包装类允许您获取status.

  • hacky / 不可移植的方法是查看实际的实现类,HttpServletResponse看看是否有额外的公共方法。(甚至是您可以通过反射访问的非公共方法或字段......尽管这将是一个非常糟糕的主意,IMO)

于 2011-09-12T22:44:24.367 回答
0

如果通过“将状态输出为字段”,您的意思是在 HTML 中显示状态代码,在 web 应用程序中执行此操作的典型方法是让您的请求处理逻辑(控制器)将状态代码存储在某处(模型),以便它可以在任何创建 HTML(视图)的机制中检索和显示,因此是 MVC 模式。不要将 HttpServletResponse 视为存储呈现视图所需的数据的地方。它只是您返回用户的管道。视图渲染所需的数据应该放在其他地方,比如请求属性中。

于 2011-09-13T01:34:39.450 回答