我有一个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的字段作为对上载的响应。请帮我提一下建议。
答案 0 :(得分:0)
servlet API没有提供直接执行此操作的方法,但有一些方法可以做到这一点。
干净的方法是创建一个Filter
来包装真正的HttpServletResponse
对象,并使用包装类来获取status
。
hacky / non-portable方式是查看HttpServletResponse
的实际实现类,看看是否有其他公共方法。 (或者甚至是你可以反思性地访问的非公开方法或领域......虽然这可能是一个非常糟糕的主意,IMO)
答案 1 :(得分:0)
如果通过“将状态输出为字段”,表示用HTML显示状态代码,在webapp中执行此操作的典型方法是将请求处理逻辑(控制器)存储在某处(模型)状态代码这样它就可以检索并以任何机制显示创建HTML(视图),从而创建MVC模式。不要将HttpServletResponse视为存储渲染视图所需数据的位置。它只是你回到用户的渠道。视图渲染所需的数据应该放在其他地方,例如在request attribute中,也许。