tomact中目前编码为此处编码格式不能改变,因为整个系统都是用这种格式:
- Java code
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" URIEncoding="UTF-8" disableUploadTimeout="true" />
传参数页面:
- HTML code
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@page import="com.zzyy.web.util.RequestHelper"%><%@page import="com.zzyy.knowledge.*"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";// 获取目标视频文件名称String seqid = RequestHelper.getNotNullString(request , "seqId");//获取附件类型KnowledgeShowDao temp = new KnowledgeShowDao();String medianame = temp.att_MediaName(seqid);String swfname="D:/UP/attachment/swf/"+medianame+".swf";System.out.println("swfname值为:xxxxxxxxxssssssssssssxxxxxxx"+swfname);%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>文件展示</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body > <embed id="embedWelcom" pluginspage="http://www.macromedia.com/go/getflashplayer" menu="true" loop="true" play="true" type="application/x-shockwave-flash" style="z-index: -1;" wmode="transparent" src="servlet/FileStreamReader?name=<%=swfname%>" width="800px" height="650px" align="middle"> </embed> </body></html>
servlet页面接受代码为:
- Java code
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("进入获取数据流页面" ); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=UTF-8");//下面已经有了类型 String str_name = request.getParameter("name"); //获取存放地址名 System.out.println("进入获取数据流页面last" +str_name); FileInputStream fis = new FileInputStream(str_name); int i=fis.available(); //得到文件大小 byte data[]=new byte[i]; fis.read(data); //读数据 //读取图片的时候用下面 //response.setContentType("image/jpeg"); response.setContentType("swf"); OutputStream toClient=response.getOutputStream(); //得到向客户端输出二进制数据的对象 toClient.write(data); //输出数据 toClient.flush(); toClient.close(); fis.close(); //return null; }
这个页面获取到的为乱码,各位大侠有没有解决办法??