高分 在线 急求 Servlet获取参数中文编码为乱码
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
URIEncoding="UTF-8"
disableUploadTimeout="true" />
传参数页面:
<%@ 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页面接受代码为:
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;
}
这个页面获取到的为乱码,各位大侠有没有解决办法??
相关推荐
jsp传参 servlet接收中文乱码问题的解决方法
下面小编就为大家带来一篇jsp传参 servlet接收中文乱码问题的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
基于Java和MySQL的学生学籍管理系统设计与实现详解
管理信息系统是现代企业和学校数字化转型的基础设施,而学生学籍管理系统作为典型的CRUD应用,是学习Java Web开发和数据库设计的绝佳实践。系统以Java为核心编程语言,搭配MySQL数据库,通过面向对象建模将学生、班级、专业、成绩等实体映射为数据表,并利用Spring Boot或Servlet实现分层架构。数据库设计强调外键约束、索引优化、逻辑删除,确保数据一致性与可追溯性。从登录鉴权、学生信息增删改查到成绩统计、学籍异动记录,完整覆盖业务闭环。无论是课程设计、毕业设计还是面试项目,掌握这套基于Java
完美解决在Servlet中出现一个输出中文乱码的问题
下面小编就为大家带来一篇完美解决在Servlet中出现一个输出中文乱码的问题。小编觉得挺不错的现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
servlet中文乱码问题
Servlet + Tomcat 中文乱码的解决方法,浏览器把Unicode字符转换为GBK字符,这样页面的内容和浏览器的显示模式都设成了GBK,就不会乱码了
【servlet】彻底解决doGet、doPost以及控制台中文乱码问题
我们在javaWeb项目时,使用doget和dopost总是会出现各种原因的中文乱码问题,楼主在查阅大量资料后,将为什么有这样的问题,和如何解决这种问题做个总结。 思维导图: 1. 应答乱码处理(response输出页面时乱码) 1.1 问题: 输出到页面时中文会乱码 后端代码: PrintWriter out = response.getWriter(); out.println(你好,世界!); 前端显示: 1.2 原因 没有设置HttpServletResponse使用哪种编码,默认编码跟浏览器解码不匹配。 1.3 解决方案: 方案1: 在PrintWriter out = re


