JSP编译后生成的java文件中含有大量空白行,这些空白会降低对搜索引擎的友好度和 HTML的可读性。
造成此现象的大概是页面使用 UTF-8编码格式,jsp文件在编译的时候生成这种形式的换行符。
解决方法:
一、使用 EmEditor 工具
将已经编辑好的UTF-8文件选择另存为,覆盖原来的文件,在保存时“添加 Unicode 签名(BOM)(G)” 的选项是可选的,将前面的勾去掉,保存。
工具下载页面:http://u.115.com/file/bh5e2iwn
二、在tomcat 6.0 的conf 文件夹中的 web.xml 文件中加入以下注释之间的代码
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<!--要添加的代码,tomcat 5.5的-->
<init-param>
<param-name>trimSpaces</param-name>
<param-value>true</param-value>
</init-param>
<!--end-->
<load-on-startup>3</load-on-startup>
</servlet>
提醒:需要将tomcat目录中的 work\Catalina\localhost 下编译的文件删除掉
其他tomcat版本(未测试过):
1. 支持JSP 2.1+ ,在每个要去空行的页面里包含下面代码:
<%@ page trimDirectiveWhitespaces="true" %>
在 Tomcat 6.0.14下测试JSP编译成功
2. 支持servlet 2.5+, 即 web.xml的 XSD版本为2.5,在web.xml中加入如下代码
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<trim-directive-whitespaces>true</trim-directive-whitespaces> </jsp-property-group>
</jsp-config>
分享到:
相关推荐
总结来说,JSP到Servlet的过程包括JSP预编译、Java源码编译和.jar文件打包。这个过程对于开发者理解JSP的工作原理、调试以及部署都是非常重要的。通过反编译和打包,我们可以更好地管理和维护基于JSP的Web应用程序,...
使用Ant实现JSP到Servlet的转换,我们需要配置`<javac>`任务来编译源代码,然后配置`<war>`任务来生成包含编译后的Servlet和相关资源的WAR(Web Application Archive)文件。最后,可以使用`<jar>`任务将WAR文件中...
标题 "让WebSphere (WAS) 发布程序编译JSP为Java文件,Java文件位置" 暗示了在IBM WebSphere Application Server (WAS) 中如何配置以查看或控制JSP编译过程,以及生成的Java源文件的位置。在Web应用程序的开发和调试...
JSP编译后的JAVA文件
在JSP中,`<jsp:include>`标签是用于在页面间进行内容包含的,但有时可能会遇到“乱码”问题,这通常涉及到字符编码的处理。本文将详细解析JSP `include` 乱码问题的成因以及解决方法。 首先,我们要理解乱码产生的...
在Java Web开发中,`jsp:include`和`<jsp:include>`标签是两种常见的页面包含机制,它们用于将一个或多个动态或者静态资源合并到一个JSP页面中。这两种方式虽然看似相似,但有着本质的区别,理解它们的用法和区别...
使用 `jsp:include` 方式可以避免乱码的问题,因为这种方式可以使得两个文件分别编译,变量不能相互使用。例如,使用 `jsp:include` 方式可以在被包含文件中定义自己的 `contentType`,从而避免乱码的问题。 总结 ...
3. **使用Javac或JDT进行编译**:Java提供了`javac`命令行工具进行编译,但考虑到在服务器环境中,更常见的是使用Java Development Toolkit (JDT)的API,如`org.eclipse.jdt.internal.compiler.Compiler`,因为它...
如果需要在执行阶段动态地包含其他 JSP 文件,可以使用 `<jsp:include page=” ” flush=”true”/>`。 JSP 中的 Include 有两种用法,分别是 `<%@ include file=” ”%>` 和 `<jsp:include page=” ” flush=”...
在Java Web开发中,JSP(JavaServer Pages)常常用于创建动态网页,配合Servlet处理用户交互,例如文件的上传和下载。本项目专注于解决在JSP中实现文件上传和下载时遇到的一些常见问题,特别是针对中文文件名的处理...
在Java Web开发中,WebLogic Server是一款非常流行的Java EE应用服务器,它提供了全面的企业级服务,包括对JSP(JavaServer Pages)的支持。本示例主要关注如何在WebLogic环境中进行JSP的预编译,这有助于提升应用...
【手工编译jsp】是一个关于Java Web开发中的特殊主题,主要涉及如何在没有使用Web容器(如Tomcat、Jetty等)的情况下,直接对JSP(JavaServer Pages)页面进行预编译为Java类的过程。这个过程对于理解JSP的工作原理...
在JavaServer Pages (JSP) 技术中,`<jsp:include>` 和 `<%@ include %>` 是两个用于页面组合的指令,它们虽然都用于将一个或多个文件的内容插入到主页面中,但它们的工作机制和使用场景有所不同。理解这两者的区别...
通过"jsp.chm"这个已编译的HTML帮助文件,开发者可以深入学习JSP的基础知识、最佳实践和常见问题的解决方案,从而提高开发效率和代码质量。这个文件可能包含了详细的API参考、示例代码、教程和故障排除指南,是学习...
Class文件是Java编译器将源代码(.java文件)编译后的结果,它们包含了机器可执行的字节码。反编译是将这些字节码转换回人类可读的Java源代码的过程。这个过程通常用于分析或调试已编译的代码,尤其是当我们没有源...
为了更好地理解和使用这个工具,可以参考提供的"工具类.docx"文档,它可能包含了PatchUtil.java的详细使用教程,包括如何集成到构建流程、如何配置编译参数以及如何处理不同类型的文件等。阅读并按照教程操作,可以...
3. **错误处理与日志**:系统应有完善的错误处理机制,包括异常捕获和日志记录,确保在出现错误时能够及时定位问题。 **应用场景** 1. **Web托管服务**:允许客户远程管理其网站文件,如上传HTML、CSS、JavaScript...
静态Include在编译时就会被处理,被包含的页面会被转换成Servlet的源代码并插入到包含它的JSP页面中。这种方式适用于包含静态内容,如头部、底部导航等不经常变动的部分。 2. **动态Include(<jsp:forward>)** ...
"JSP文件管理系统"是一个基于JavaServer Pages (JSP) 技术开发的文件管理解决方案。JSP是一种服务器端的动态网页技术,它允许开发者在HTML或者XML文档中嵌入Java代码,从而实现动态内容的生成。在这个系统中,用户...
如果 Java 和 JSP 编译成 class 文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。例如,如果 Java 文件使用 GBK 编码,而编译时使用的是 ISO-8859-1 编码,就会出现乱码。 Java 程序于其他媒介交互...