本文共 1441 字,大约阅读时间需要 4 分钟。
一.配置servlet
在WebContent(以前的eclipse版本是WebRoot)文件夹下,有一个web.xml
修改web.xml ,加入以下代码
helloservlet
my.helloservlet
helloservlet
/download
格式就是这样的:
Servlet的名称(自己起的,不要重复)
Servlet的类路径(xx.xx.xx.xxservlet)
Servlet的名称(与上面的一样)
/url名字(自己起的,不要重复,注意/,不能丢)
这个配置是为了把输入的/url和创建的servlet绑定到一起,意思是我们访问 /url名字 实际上就是在访问这个helloservlet类
PS:MyEclipse(收费的)会在servlet创建好时自动帮你在web.xml中配置好,但是Eclipse并不会,所以需要我们自己配置
二.实现输入QQ号,查询头像的功能
index.jsp:
pageEncoding="UTF-8"%>
Insert title here输入QQ号
这里action因为之前配置了web.xml,所以download就代表指向helloservlet.java这个文件
这里也可以写成action=helloservlet,是一样的
helloservlet.java ——doGet方法:
在D盘image文件夹下存放头像图片,通过获取参数,然后找到本地图片文件,循环输出给浏览器protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String qq=request.getParameter("qq");//取得参数
String filename=qq+".png";
//以文件格式下载
/*response.setHeader("Content-Disposition", "attachment;filename="+filename);
response.setContentType("application/octet-stream");*/
//图片png形式下载
response.setContentType("image/png");
response.setCharacterEncoding("UTF-8");
File DirFile=new File("d:/image");
File imageFile=new File(DirFile,filename);
FileInputStream filestream=new FileInputStream(imageFile);
OutputStream streamOut=response.getOutputStream();
byte[] buf=new byte[4096];
while(true) //循环输出
{
int n=filestream.read(buf);
if(n<=0)
break;
streamOut.write(buf,0,n);
streamOut.flush();
}
filestream.close();
streamOut.close();
}
效果如图所示:
输入111,点击查询,返回一个png图片
转载地址:https://blog.csdn.net/weixin_33001305/article/details/114205839 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!