使用输出流在Java servlet中打印出变量

nin*_*oop 2 java servlets stream

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());
    }
}
Run Code Online (Sandbox Code Playgroud)

首先,我正在使用,PageWriter out= resp.getWriter();但是后来我切换到了ServletOutputStream我,因为我想打印图像。其他一切都可以,但是:

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");
}
Run Code Online (Sandbox Code Playgroud)

Nis*_*ant 5

显然,您可以使用,ServletOutputStream#print但也可以使用PrintWriter

resp.getWriter().print(yourvariable)
Run Code Online (Sandbox Code Playgroud)