根本原因刷新数据]时发生异常,原因是java.io.IOException:流已关闭 [英] Exception occurred when flushing data] with root cause java.io.IOException: Stream closed

查看:237
本文介绍了根本原因刷新数据]时发生异常,原因是java.io.IOException:流已关闭的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从数据库中检索数据,其中username =用户在登录期间输入的名称. 用户名是由用户在html中输入的 但我收到以下错误消息:根本原因导致刷新数据]时发生异常 java.io.IOException:流已关闭. 根本原因冲刷数据]时发生异常 流已关闭.

I want to retrieve data from database, where username = entered by the user during login. Username is entered by user in html But I am getting error as: Exception occurred when flushing data] with root cause java.io.IOException: Stream closed. Exception occurred when flushing data] with root cause Stream closed.

我的jsp页面:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Student Details</title>
</head>
<body>
<%

String uname= request.getParameter("UserName");
try{


    Class.forName("com.mysql.jdbc.Driver");  
    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/vikas","root","rass");  
    PreparedStatement ps=con.prepareStatement("select * from Student_Data where UserName="+uname);

    ResultSet rs = ps.executeQuery();

%>


<table rules="all" border="">
<%

while (rs.next()) {
%>
<tr>
<td>FirstName: </td><td><%out.println(rs.getString(1));%></td></tr>
<td>LastName: </td><td><%out.println(rs.getString(2));%></td></tr>
<tr><td>UserName: </td><td><%out.println(rs.getString(3));%></td></tr>
<tr><td>Password: </td><td><%out.println(rs.getString(4));%></td></tr>
<tr><td>DateOfBirth: </td><td><%out.println(rs.getString(5));%></td></tr>
<tr><td>E-Mail</td><td><%out.println(rs.getString(6));%></td></tr>
<tr><td>Mobile.No</td><td><%out.println(rs.getString(7));%></td></tr>
<tr><td>Gender</td><td><%out.println(rs.getString(8));%></td></tr>
<tr><td>Address</td><td><%out.println(rs.getString(9));%></td></tr>
<tr><td>City</td><td><%out.println(rs.getString(10));%></td></tr>
<tr><td>PinCode</td><td><%out.println(rs.getString(11));%></td></tr>
<tr><td>State</td><td><%out.println(rs.getString(12));%></td></tr>
<tr><td>Country</td><td><%out.println(rs.getString(13));%></td></tr>
<tr>
<td>Hobbies</td>
<td><%out.println(rs.getString(14));%> </td>
</tr>
<tr>
<td>Qualification</td><td>Sl.No</td><td>Examination</td><td>Board</td><td>Percentage</td><td>Year of Passing</td>
</tr>       
<tr>
<td></td><td>1</td><td>Class X</td><td><%out.println(rs.getString(15));%></td><td><%out.println(rs.getString(16));%></td><td><%out.println(rs.getString(17));%></td>
</tr>
<tr>
<td></td><td>2</td><td>Class XII</td><td><%out.println(rs.getString(18));%></td><td><%out.println(rs.getString(19));%></td><td><%out.println(rs.getString(20));%></td>
</tr>
<tr>
<td></td><td>3</td><td>Graduation</td><td><%out.println(rs.getString(21));%></td><td><%out.println(rs.getString(22));%></td><td><%out.println(rs.getString(23));%></td>
</tr>
<tr>
<td>Course Applied</td><td><%out.println(rs.getString(24));%>
</td>
</tr>

</table>


<%
}
}
catch(Exception e)
{
    System.out.println(e);
}
out.close();
%>
</body>
</html>

推荐答案

您不应在jsp页面中调用out.close,jsp会为您完成

You should not invoke out.close in your jsp page,jsp will do it for you

所以只需删除以下代码:

So just remove below code:

<%
}
}
//remove below code
catch(Exception e)
{
    System.out.println(e);
}
out.close();
%>

对于查询sql,由于已使用PreparedStatement,因此需要像ps.setString()这样的传递参数,而不是直接在sql中写入,因此请更改为以下内容:

For your query sql,since you have use PreparedStatement ,so you need pass parameter like ps.setString() instead of write in the sql directly,so change to below:

Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/vikas","root","rass");  
PreparedStatement ps=con.prepareStatement("select * from Student_Data where UserName=?");
ps.setString(1,uname);

这篇关于根本原因刷新数据]时发生异常,原因是java.io.IOException:流已关闭的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆