Reputation: 21
public class DemoServlet extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException {
//prints out my string
resp.getOutputStream().write("Hello from servlet\n".getBytes());
String variable ="VAR";
//trying to print out variable by this way but doesn't work
resp.getOutputStream().write("%s\n".getBytes(),variable);
//doesn't work this way either
resp.getOutputStream().write("variable is:"+ variable +"something else\n".getBytes());
}
}
First, I was using PageWriter out= resp.getWriter();
but then I switched to ServletOutputStream
because I wanted to print images. Every thing else is OK but:
public void makedbconnection() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Dbcon = DriverManager.getConnection("jdbc:mysql://localhost/test");
} catch(Exception idc) {
//ON THIS LINE, out is ServletOutputStream.
idc.printStackTrace(out);
}
//System.out.println("connection made");
}
Upvotes: 2
Views: 35089
Reputation: 55866
Obviously you can use ServletOutputStream#print
but you could use PrintWriter as well.
resp.getWriter().print(yourvariable)
Upvotes: 5
Reputation: 4605
ServletOutputStream
has a large set of print(...)
methods. When printing text, it's better to use them instead of write(...)
ones.
Also, note that you can use print
or write
multiple times:
out.print("Hello, the variable is ");
out.print(variable);
out.println(". Something else?");
Notice that, instead of adding a \n
in the end of the string, it's better to use println
.
Upvotes: 0
Reputation: 81684
out
is a ServletOutputStream. It has a rich set of overloaded print()
methods. Just use
out.print(variable);
Upvotes: 4