该过程是控制器(跳转) - > jsp(网格) - >控制器(验证码)
所以这是我的代码
的控制器(跳转):
/**
* jump to login in jsp
* @return
*/
@RequestMapping("/toLogin")
public String toLogin( ) {
log.debug("to Sign In!---------------------------------------<UserinfoController>");
return "sign-in";
}
jsp(没有像这样的标签&#34;&lt;%...%&gt;&#34;):
<div class="form-group">
<label for="code">验证码</label>
<input id="code" type="text" name="code" class="span3 form-control ">
<a>
<img alt="刷新验证码" src="${pageContext.request.contextPath }/code">
</a>
</div>
控制器(验证码):
OutputStream os = resp.getOutputStream();
ImageIO.write(buffImg, "jpeg", os);
os.close();
错误是:
java.lang.IllegalStateException:已经为此响应调用了getWriter() 在org.apache.catalina.connector.Response.getOutputStream(Response.java:644) 在org.apache.catalina.connector.ResponseFacade.getOutputStream(ResponseFacade.java:196) 在com.wyk.pmsys.controller.CodeController.getCode(CodeController.java:107) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
在servlet jsp中转换为java使用&#34; out.write()&#34;,这与我的代码&#34; resp.getOutputStream()&#34;? 这就是全部,如何解决它; 如果有别的话,那是什么?以及如何解决它?
答案 0 :(得分:0)
您需要的只是方法的注释ResponseBody
:
@RequestMapping("/code")
@ResponseBody //<---- here
public void getCode(HttpServletRequest req, HttpServletResponse resp)
throws IOException {