异常:java.lang.IllegalStateException怎么解决?java.lang.IllegalStateExceptionat servlet.zhuce.doGet(zhuce.java:48)at servlet.zhuce.doPost(zhuce.java:77)提示这两行有问题以下是servlet代码:public class zhuce extends HttpServlet {privat
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 17:25:00
![异常:java.lang.IllegalStateException怎么解决?java.lang.IllegalStateExceptionat servlet.zhuce.doGet(zhuce.java:48)at servlet.zhuce.doPost(zhuce.java:77)提示这两行有问题以下是servlet代码:public class zhuce extends HttpServlet {privat](/uploads/image/z/12754244-20-4.jpg?t=%E5%BC%82%E5%B8%B8%3Ajava.lang.IllegalStateException%E6%80%8E%E4%B9%88%E8%A7%A3%E5%86%B3%3Fjava.lang.IllegalStateExceptionat+servlet.zhuce.doGet%28zhuce.java%3A48%29at+servlet.zhuce.doPost%28zhuce.java%3A77%29%E6%8F%90%E7%A4%BA%E8%BF%99%E4%B8%A4%E8%A1%8C%E6%9C%89%E9%97%AE%E9%A2%98%E4%BB%A5%E4%B8%8B%E6%98%AFservlet%E4%BB%A3%E7%A0%81%3Apublic+class+zhuce+extends+HttpServlet+%7Bprivat)
异常:java.lang.IllegalStateException怎么解决?java.lang.IllegalStateExceptionat servlet.zhuce.doGet(zhuce.java:48)at servlet.zhuce.doPost(zhuce.java:77)提示这两行有问题以下是servlet代码:public class zhuce extends HttpServlet {privat
异常:java.lang.IllegalStateException怎么解决?
java.lang.IllegalStateException
at servlet.zhuce.doGet(zhuce.java:48)
at servlet.zhuce.doPost(zhuce.java:77)
提示这两行有问题
以下是servlet代码:
public class zhuce extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request,HttpServletResponse response) throws
ServletException,IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
String yzm = request.getParameter("yzm");
/*判断验证码是否正确*/
if (session.getAttribute("valicode").toString().equals(yzm)) {
Ben b = new Ben();
b.setUname(new String(request.getParameter("username").getBytes(
"iso8859-1"),"gbk"));
b.setUpassword(request.getParameter("password"));
b.setAnquanma(request.getParameter("aqpassword"));
b.setTouxiang(request.getParameter("touxiang"));
/*判断用户名是否已经注册 panduan()返回boolean true:可用 false:不可用*/
if (b.panduan()) {
b.Dbcinsert();/*写进数据库*/
out.println("");
out.println("zhuce");
out.println("");
out.println("");
out.println("");
out.print("");
out.print("注册成功!alert(\"用户:" +
new String(request.getParameter("username").getBytes(
"iso8859-1"),"gbk") +
"注册成功!\");window.location.href=\"main.jsp\"");
out.close();
/*把注册的用户名放进session*/
session.setAttribute("yonghuming",
b.getUname());
/*跳转到主页面*/
response.sendRedirect("main.jsp");
异常:java.lang.IllegalStateException怎么解决?java.lang.IllegalStateExceptionat servlet.zhuce.doGet(zhuce.java:48)at servlet.zhuce.doPost(zhuce.java:77)提示这两行有问题以下是servlet代码:public class zhuce extends HttpServlet {privat
抛出异常:
ERROR [Engine] StandardWrapperValve[jsp]:Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException:getOutputStream() has already been called for this response
从网上找了下资料,综合一下原因分析:
这是web容器生成的servlet代码中有out.write(””),这个和JSP中调用的response.getOutputStream()产生冲突.
即Servlet规范说明,不能既调用 response.getOutputStream(),又调用response.getWriter(),无论先调用哪一个,在调用第二个时候应会抛出 IllegalStateException,因为在jsp中,out变量是通过response.getWriter得到的,在程序中既用了response.getOutputStream,又用了out变量,故出现以上错误.
解决方案:
1.在程序中添加:
out.clear();
out = pageContext.pushBody();
就可以了;
2,不要在%〕〔%之间写内容包括空格和换行符
3,在页面写入图片的时候,需要flush()
OutputStream output=response.getOutputStream();
output.flush();
4,在页面确定写入