页面的代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'bj.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" type="text/css" href="css/112.css">
</head>
<body>
<div class="header">
<!-- 设置菜单 -->
<div class="menu" onmouseleave="show_menu1()">
<div class="menu_title" onclick="show_menu()">
<p>内容分类</p></div>
</div>
</div>
<br>
<div class="content">
<!-- 设置广告栏 -->
<div class="banner">
<img src="images/333.png" class="banner_img">
</div>
<div class="img_content">
<ul>
<li>
<img src="images/222.png" class="img_li">
<div class="info">
<h3>日常保洁</h3>
<p>
工作时间:7:00-22:00<br>
服务:洗碗、扫地、洗衣服<br>
服务范围:卧室、客厅、书房、厨房、餐厅、洗手间、阳台<br>
¥ 40元/小时
</p>
</div>
</li>
<li2>
<div class="info">
<br>
<form METHOD="post" ACTION="dobj.jsp">
<input class="input_1" type="text" name="name" placeholder="姓名"><br>
<input class="input_1" type="text" name="dh" placeholder="电话"><br>
<input class="input_1" type="text" name="dz" placeholder="地址"><br>
<input class="input_1" type="text" name="sj" placeholder="时间"><br>
<input class="input_1" type="text" name="num" placeholder="服务类型"><br>
<input class="input_1" type="text" name="cs" placeholder="下单数"><br>
<input class="input_2" type="submit" value="确认">
</form>
</div>
</div>
</li2>
</ul>
</div>
</div>
</body>
</html>
执行页面的代码
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'dobj.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String id=request.getParameter("id");
String name=request.getParameter("name");
String dh=request.getParameter("dh");
String dz=request.getParameter("dz");
String sj=request.getParameter("sj");
String num=request.getParameter("num");
String cs=request.getParameter("cs");
Class.forName("com.mysql.jdbc.Driver"); //加载驱动程序类
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/jz?useSSL=false","root","root");
PreparedStatement pstmt=con.prepareStatement("insert into dd values(?,?,?,?,?,?,?)");
pstmt.setString(1,id);
pstmt.setString(2,name);
pstmt.setString(3,dh);
pstmt.setString(4,dz);
pstmt.setString(5,sj);
pstmt.setString(6,num);
pstmt.setString(7,cs);
int b=pstmt.executeUpdate();
//将数据存入数据库
if(b!=0){
request.getRequestDispatcher("1111.html?title="+id+"").forward(request,response);
}
%>
</body>
</html>
错误页提示
```java
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.IllegalStateException: getOutputStream() has already been called for this response
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:429)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.IllegalStateException: getOutputStream() has already been called for this response
org.apache.catalina.connector.Response.getWriter(Response.java:604)
org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:186)
org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
org.apache.jsp.dobj_jsp._jspService(dobj_jsp.java:123)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
```
是启动报错,还是调用的时候报错
如果是调用报错,调用的地方代码也发出来,不一定是这个页面代码问题需要排查一下
功能:返回此套接字的输出流。
如果此套接字具有关联的通道,则得到的输出流会将其所有操作委托给通道。如果通道为非阻塞模式,则输出流的 write 操作将抛出 IllegalBlockingModeException。
关闭返回的 OutputStream 将关闭关联套接字。
由于篇幅有限,关于 JavaSocket 其余的函数的链接我会放在附录里,这里就不过多介绍了