小编Gab*_*ami的帖子

Sun HTTPServer - 如何编写后处理过滤器?

我尝试使用 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 修改的内容。但是,过滤器仅被调用一次,因此必须有一个“魔法”来决定过滤器在处理程序之前或之后运行。

请帮我说清楚。

java com.sun.net.httpserver

5
推荐指数
1
解决办法
1996
查看次数

带有 javadocs 的 Maven 多模块项目站点

我想使用 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)

java maven-2 javadoc maven-javadoc-plugin maven-site-plugin

3
推荐指数
1
解决办法
7112
查看次数