tomcat:去掉jsp中的空白行或空白

来源:互联网 发布:html文章发布网页源码 编辑:程序博客网 时间:2024/04/29 02:02

一般在jsp头部有至少一行空白,是因为

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

引起的,如果还有其它的标签引入或类引入会出现更多的空白.例如:

<%@ page import="..."%><%@ taglib prefix="xxx" uri=".tld"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

查看源码后如图:



为什么容不下空白?有几行空白有什么不好?

1.响应内容会更大,比没有空白或空行的

2.如果要解析响应内容要多哪么几行代码

3.我们眼中容不下空白,大笑


怎么去掉它呢?

1.坏办法:一一把jsp头部或可能出现空白的行打到一行上,这样再次编辑或打开时不易查看

2.简单了:在tomcat的conf/web.xml中的org.apache.jasper.servlet.JspServlet servlet 增加几个参数,这是默认的配置(取自7.0.55)

  <!-- The JSP page compiler and execution servlet, which is the mechanism  -->  <!-- used by Tomcat to support JSP pages.  Traditionally, this servlet    -->  <!-- is mapped to the URL pattern "*.jsp".  This servlet supports the     -->  <!-- following initialization parameters (default values are in square    -->  <!-- brackets):                                                           -->  <!--                                                                      -->  <!--   checkInterval       If development is false and checkInterval is   -->  <!--                       greater than zero, background compilations are -->  <!--                       enabled. checkInterval is the time in seconds  -->  <!--                       between checks to see if a JSP page (and its   -->  <!--                       dependent files) needs to  be recompiled. [0]  -->  <!--                                                                      -->  <!--   classdebuginfo      Should the class file be compiled with         -->  <!--                       debugging information?  [true]                 -->  <!--                                                                      -->  <!--   classpath           What class path should I use while compiling   -->  <!--                       generated servlets?  [Created dynamically      -->  <!--                       based on the current web application]          -->  <!--                                                                      -->  <!--   compiler            Which compiler Ant should use to compile JSP   -->  <!--                       pages.  See the jasper documentation for more  -->  <!--                       information.                                   -->  <!--                                                                      -->  <!--   compilerSourceVM    Compiler source VM. [1.6]                      -->  <!--                                                                      -->  <!--   compilerTargetVM    Compiler target VM. [1.6]                      -->  <!--                                                                      -->  <!--   development         Is Jasper used in development mode? If true,   -->  <!--                       the frequency at which JSPs are checked for    -->  <!--                       modification may be specified via the          -->  <!--                       modificationTestInterval parameter. [true]     -->  <!--                                                                      -->  <!--   displaySourceFragment                                              -->  <!--                       Should a source fragment be included in        -->  <!--                       exception messages? [true]                     -->  <!--                                                                      -->  <!--   dumpSmap            Should the SMAP info for JSR45 debugging be    -->  <!--                       dumped to a file? [false]                      -->  <!--                       False if suppressSmap is true                  -->  <!--                                                                      -->  <!--   enablePooling       Determines whether tag handler pooling is      -->  <!--                       enabled. This is a compilation option. It will -->  <!--                       not alter the behaviour of JSPs that have      -->  <!--                       already been compiled. [true]                  -->  <!--                                                                      -->  <!--   engineOptionsClass  Allows specifying the Options class used to    -->  <!--                       configure Jasper. If not present, the default  -->  <!--                       EmbeddedServletOptions will be used.           -->  <!--                                                                      -->  <!--   errorOnUseBeanInvalidClassAttribute                                -->  <!--                       Should Jasper issue an error when the value of -->  <!--                       the class attribute in an useBean action is    -->  <!--                       not a valid bean class?  [true]                -->  <!--                                                                      -->  <!--   fork                Tell Ant to fork compiles of JSP pages so that -->  <!--                       a separate JVM is used for JSP page compiles   -->  <!--                       from the one Tomcat is running in. [true]      -->  <!--                                                                      -->  <!--   genStringAsCharArray                                               -->  <!--                       Should text strings be generated as char       -->  <!--                       arrays, to improve performance in some cases?  -->  <!--                       [false]                                        -->  <!--                                                                      -->  <!--   ieClassId           The class-id value to be sent to Internet      -->  <!--                       Explorer when using <jsp:plugin> tags.         -->  <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->  <!--                                                                      -->  <!--   javaEncoding        Java file encoding to use for generating java  -->  <!--                       source files. [UTF8]                           -->  <!--                                                                      -->  <!--   keepgenerated       Should we keep the generated Java source code  -->  <!--                       for each page instead of deleting it? [true]   -->  <!--                                                                      -->  <!--   mappedfile          Should we generate static content with one     -->  <!--                       print statement per input line, to ease        -->  <!--                       debugging?  [true]                             -->  <!--                                                                      -->  <!--   maxLoadedJsps       The maximum number of JSPs that will be loaded -->  <!--                       for a web application. If more than this       -->  <!--                       number of JSPs are loaded, the least recently  -->  <!--                       used JSPs will be unloaded so that the number  -->  <!--                       of JSPs loaded at any one time does not exceed -->  <!--                       this limit. A value of zero or less indicates  -->  <!--                       no limit. [-1]                                 -->  <!--                                                                      -->  <!--   jspIdleTimeout      The amount of time in seconds a JSP can be     -->  <!--                       idle before it is unloaded. A value of zero    -->  <!--                       or less indicates never unload. [-1]           -->  <!--                                                                      -->  <!--   modificationTestInterval                                           -->  <!--                       Causes a JSP (and its dependent files) to not  -->  <!--                       be checked for modification during the         -->  <!--                       specified time interval (in seconds) from the  -->  <!--                       last time the JSP was checked for              -->  <!--                       modification. A value of 0 will cause the JSP  -->  <!--                       to be checked on every access.                 -->  <!--                       Used in development mode only. [4]             -->  <!--                                                                      -->  <!--   recompileOnFail     If a JSP compilation fails should the          -->  <!--                       modificationTestInterval be ignored and the    -->  <!--                       next access trigger a re-compilation attempt?  -->  <!--                       Used in development mode only and is disabled  -->  <!--                       by default as compilation may be expensive and -->  <!--                       could lead to excessive resource usage.        -->  <!--                       [false]                                        -->  <!--                                                                      -->  <!--   scratchdir          What scratch directory should we use when      -->  <!--                       compiling JSP pages?  [default work directory  -->  <!--                       for the current web application]               -->  <!--                                                                      -->  <!--   suppressSmap        Should the generation of SMAP info for JSR45   -->  <!--                       debugging be suppressed?  [false]              -->  <!--                                                                      -->  <!--   trimSpaces          Should white spaces in template text between   -->  <!--                       actions or directives be trimmed?  [false]     -->  <!--                                                                      -->  <!--   xpoweredBy          Determines whether X-Powered-By response       -->  <!--                       header is added by generated servlet.  [false] -->    <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>        <load-on-startup>3</load-on-startup>    </servlet>


看到trimSpaces参数的说明了吧,默认为false,把它设为true就完成一步了.


有了conf/web.xml中的配置还不足以去掉空白,还需要在你的项目的web.xml中增加一个jsp-config

  <jsp-config>    <jsp-property-group>      <url-pattern>*.jsp</url-pattern>      <trim-directive-whitespaces>true</trim-directive-whitespaces>    </jsp-property-group>  </jsp-config>

清理 ->重新编译字节码 ->发布 ->空白说:bye!偷笑

3.其它方法:留给你白渡了

0 0
原创粉丝点击