易截截图软件、单文件、免安装、纯绿色、仅160KB

用JSP来实现文件下载功能的几种方式

1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中。这样做的缺点是把文件在服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限)。这个就不写示例了。
2.在服务器端把文件转换成输出流,写入到response,以response把文件带到浏览器,由浏览器来提示用户是否愿意保存文件到本地。
3.既然是JSP的话,还有一种方式就是用Applet来实现文件的下载。不过客户首先得信任你的这个Applet小程序,由这个程序来接受由servlet发送来的数据流,并写入到本地。
Servlet端示例
public void service(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {
res.setContentType(\" text/plain \");
OutputStream outputStream = null;
try {
outputStream = res.getOutputStream();//把文件路径为srcFile的文件写入outputStream中
popFile(srcFile, outputStream)) ;
} catch (IOException e) {
e.printStackTrace();
}

JApplet端示例
URLConnection con;
try {
//url是被调用的SERVLET的网址 如 *.do
con=url.openConnection();
con.setUseCaches(false);
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestProperty(\"Content-Type\",\"application/octet-stream\");
InputStream in = con.getInputStream();
ProgressMonitorInputStream pmInputStream = new ProgressMonitorInputStream(pane, \"正在从服务器下载文件内容\", in);
ProgressMonitor pMonitor = pmInputStream.getProgressMonitor();
pMonitor.setMillisToDecideToPopup(3);
pMonitor.setMillisToPopup(3);//localfilepath本地路径,localstr文件文件夹,filename本地文件名
String localfilepath = localstr filename ;//方法saveFilsaveFilee是把输入流pmInputStream写到文件localfilepath中
if(saveFilsaveFilee(localfilepath,pmInputStream)){     openLocalFile(localfilepath);
} URLConnection con;
try {
con = url.openConnection();//url是被调用的SERVLET的网址 如 *.do   
con.setUseCaches(false);
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestProperty(\"Content-Type\",\"application/octet-stream\");
OutputSt


相关文档:

jsp中通过URL地址获取该地址页面中的静态页面


try {
            URL url = new URL("http://www.163.com");
            InputStream is = url.openStream();
            byte[] buffer = new byte[1024];
           ......

让html以及jsp页面不被缓存

对于HTM网页,加入:
<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<meta HTTP-EQUIV="expires" CONTENT="0">
然后,jsp页面中加入:
<%
     response.setHeader("Cache-Control","no-store") ......

JSP中动态INCLUDE与静态INCLUDE的区别

JSP中有两种包含语句:
1. <%@include file="head.jsp" %>
2. <jsp:include page="head.jsp" />
   或者:
  <jsp:include page="jieshou.jsp">
   <jsp:param name="canshu" value="magci" />
 &nbs ......

jsp有哪些内置对象?作用分别是什么?

JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
 1.request 用户端请求,此请求会包含来自GET/POST请求的参数。
   2. response 网页传回用户端的回应 。
   3.pageContext 网页的属性是在这里管理 。
   4.session 与请求有关的会话期。
   5.ap ......

jsp有哪些动作?作用分别是什么?

JSP共有以下6种基本动作:
   1.jsp:include:在页面被请求的时候引入一个文件。
   2.jsp:useBean:寻找或者实例化一个JavaBean。
   3.jsp:setProperty:设置JavaBean的属性。
   4.jsp:getProperty:输出某个JavaBean的属性。
   5.jsp:forward:把请求转到 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号