我尝试使用 Sun JRE 的 HTTP 服务器进行一些操作。看了两遍文档,我还是一头雾水。
com.sun.net.httpserver.Filter javadoc表示以下内容
要求此过滤器对给定的交换进行预处理/后处理。该过滤器可以:
- 检查或修改请求标头
- 通过创建合适的过滤器流并调用 HttpExchange.setStreams(InputStream,OutputStream) 来过滤请求正文或响应正文
- 设置交换中的属性对象,其他过滤器或交换处理程序可以访问该对象。
决定:
- 通过调用 Filter.Chain.doFilter(HttpExchange) 调用链中的下一个过滤器
- 通过不调用 Filter.Chain.doFilter(HttpExchange) 来终止调用链
如果采用上述选项 1,则当 doFilter() 返回时,链中的所有后续过滤器都已被调用,并且可以检查或修改响应标头。如果采用上述选项 2,则此 Filter 必须使用 HttpExchange 发回适当的响应
我不清楚是什么,什么决定了过滤器是预处理过滤器还是后处理过滤器。正如我所假设的,后处理过滤器在HttpHandler之后运行,因此它可以与 HttpExchange 一起使用 HttpHandler 修改的内容。但是,过滤器仅被调用一次,因此必须有一个“魔法”来决定过滤器在处理程序之前或之后运行。
请帮我说清楚。
我想使用 Maven 为我的应用程序创建站点。这是一个多模块应用程序,父模块是简单的站点模块,第一个子模块是应用程序的核心,第二个是GUI(Swing)。
我现在对父 pom.xml 使用 follow
<modules>
<module>core</module>
<module>kayako-desktop</module>
</modules>
<build>
<plugins>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>2.2</version>
<configuration>
<locales>en</locales>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<plugin>
<artifactId>maven-changes-plugin</artifactId>
<version>2.4</version>
</plugin>
</plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)
我的核心 pom:
<build>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<phase>package</phase>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
<goal>javadoc</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<links>
<link>http://download.oracle.com/javase/6/docs/api/</link>
</links>
</configuration>
</plugin> …Run Code Online (Sandbox Code Playgroud)