一个简单的乱码问题。大家来讨论一下

huihui0103 2006-08-17 09:20:07
下面有三个文件

include.jsp
<%@ page contentType="text/html;charset=GB2312"%>
<%@ include file="top.txt"%>
<p align="center">
<%out.println("此书出版了,快来看看吧!还有更多的好书等着您呢!");%>
</p>
<%@ include file="bottom.txt"%>


top.txt


<html>
<head>
<title>《JSP从入门到实战》网站</title>
</head>
<body>
<p align="center"><b><font size="5">《JSP从入门到实战》网站</font></b></p>


bottom.txt


<hr>
<p align="center">
<font size="3">@电子工业出版社版权所有 2004-2008</font><br>
<font size="3">制作人:邓子云</font><br>
<font size="3">联系方式:dengziyun@126.com</font><br>
</body>
</html>

为何结果是乱码?顺便讨论下:
include指令 和include动作的区别
...全文
201 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
huihui0103 2006-08-18
  • 打赏
  • 举报
回复
谢谢hbwhwang。。
这些道理是知道,但感觉好象没有深刻理解,我想多用用就知道了。
下午结帖,散分
asdex1999 2006-08-18
  • 打赏
  • 举报
回复
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
hbwhwang 2006-08-18
  • 打赏
  • 举报
回复
1、这句不是乱码吧:("此书出版了,快来看看吧!还有更多的好书等着您呢!");
由此你可以知道:应该每个JSP文件都加上:
<%@ page contentType="text/html;charset=GB2312"%>
2、<%@ include>是静态包括,<jsp:include>是动态包括。主要的区别是<%@ include file=”” %>是在JSP页面翻译阶段实现的包含,是一种静态的包含。你可以理解为把包含文件硬生生地插入到本JSP页面然后再翻译。而<jsp:include page=""/>是在request阶段实现的包含,是一种动态的包含。你可以理解为2个servlet各行其责,本JSP的servlet在需要的时候,把out的控制权交给包含文件的那个servlet,让它输出内容,完成之后再收回控制权。
动态包含机制明显地好过静态包含,所以推荐使用。

不过<jsp:include>也有个毛病,我在原来做项目的时候碰到过,现在忘记了~~
emin_lee 2006-08-18
  • 打赏
  • 举报
回复
支持楼上!
lanseliuying 2006-08-18
  • 打赏
  • 举报
回复
在top和bottom里加入<meta>控制显示中文
<%@ include file=".."%>是编译指令,<jsp:include>是动作指令,编译指令是在JSP程序的转换时期时就先将file属性所指定的程序内容嵌入然后才编译载入,file所指定的JSP程序不会被单独编译,而动作指令在转换期间不会被编译,它只有在客户端请求时期如果会被执行到才被动态的编译载入,而page所指定的JSP程序会被个别的编译转换成另一个Servlet类。
huihui0103 2006-08-18
  • 打赏
  • 举报
回复
还有高手没啊?
xingfo 2006-08-18
  • 打赏
  • 举报
回复
要是引入的文件有<html></html>的话,你最好把<%@ include file=".."%>放到主文件中的<body>之后.
zgysc 2006-08-18
  • 打赏
  • 举报
回复
在top和bottom里加入<meta>控制显示中文
huihui0103 2006-08-18
  • 打赏
  • 举报
回复
人呢?
huihui0103 2006-08-17
  • 打赏
  • 举报
回复
楼上说的什么呀,郁闷中
I_see_it 2006-08-17
  • 打赏
  • 举报
回复
<?xml version='1.0' encoding='GB2312'?>
在前面加这个!
就显示汉语了!
include指令 和include动作的区别
执行include指令就是include动作

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧