サーブレット出力ストリームgetoputStream()
1686 ワード
インスタンスコード:
index.jsp
inputStreamServlet.java
index.jsp
$Title$
inputStreamServlet.java
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@WebServlet(name = "Servlet",urlPatterns = "/download")
public class inputStreamServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
if(name.equals("name")){
response.setContentType("application/pdf");//
InputStream in = getServletContext().getResourceAsStream("/WEB-INF/a.pdf");//
OutputStream out = response.getOutputStream();//
writeBytes(in,out);//
}
}
//writeBytes()
private void writeBytes(InputStream in, OutputStream out) throws IOException {
byte[] buffer= new byte[1024];
int length = -1;
while ((length = in.read(buffer))!=-1){
out.write(buffer,0,length);
}
in.close();
out.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}