<< 六月 2008 | 首页 | 八月 2008 >>

使用nekohtml完全控制并修整html

除了TidyHtmlCleaner,还可以使用nekohtml完全解析、控制并修整html标签内容。

阅读全文……

标签 : ,

Ubuntu安装memcached的“C compiler cannot create executables”问题

On debian:
sudo apt-get update && sudo apt-get dist-upgrade

apt-get install libc6-dev

$ apt-get install libc6-dev g++ gcc
On Fedora:

$ locate crt1.o
/usr/lib/crt1.o

阅读全文……

标签 : , , ,

在AppModule里配置Tapestry5支持UTF-8国际化和Servlet开发

Tapestry5必须有一个"module builder class",很典型地,经常是叫"AppModule",AppModule经常用来定义一些新服务、覆盖原始服务、或者为服务更改配置。常用的是让Tapestry5支持UTF-8的request Encoding、忽略一些路径过滤来支持Servlet和其他Servlet Filter的开发等。下面的代码可以加在AppModule中:


Tapestry5通过在web.xml下定义tapestry.app-package指向的Java包里寻找AppModule,也就是<filter-name>加上"Module"字符。

下面是官方文档里Tapsetry IoC 配置

Tapestry IoC Configuration

Most other configuration occurs inside your application's module builder class. The application module builder will often define new services, provide overrides of services, or make contributions to service configurations.

Tapestry looks for a module builder class in the services package (under the root package). It capitalizes the <filter-name> and appends "Module". In the previous example, the module builder class would be org.example.myapp.services.AppModule.

If such a class exists, it is added to the IoC Registry. It is not an error for your application to not have a module, though any non-trivial application will have a module.

阅读全文……

标签 : , ,

在Tapestry5框架里实现下载文件功能

在Tapestry5框架里实现下载文件功能,输出非“text/xml”,“text/html”ContentType类型。

注:(默认地,Tapestry5输出text/html,要输出text/xml,需要在Page 类声明前增加注释,@Meta("tapestry.response-content-type=text/xml")

下面是Tapestry 5文件流请求/响应的代码示例。

阅读全文……

标签 : ,

Tapestry 5 自动重载page模板和page类问题

Tapestry5确实可以自动reload page tml模板和page classes,如果你的web.xml的定义是:

<!DOCTYPE web-app
      PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
      "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
    <display-name>My Tapestry Application</display-name>
    <context-param>
        <param-name>tapestry.app-package</param-name>
        <param-value>org.example.myapp</param-value>
    </context-param>
    <filter>
        <filter-name>app</filter-name>
        <filter-class>org.apache.tapestry5.TapestryFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>app</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

那么,包org.example.myapp以及子包下面的tml和page class可以自动reload,也就是说,只有在org.example.myapp.pages下面的page classes和在org.example.myapp.components下面的component classes才会自动reload

阅读全文……

标签 : ,

JVM的内存限制(JVM maximum heap size)

On 32bit platform, maximum virtual space is 4G. (2^32)
And on 32bit Windows, 2G space is reserved for OS kernel and another 2G space is reserved for a process.
So the maximum memory space that jvm can use is 2G.

Excluding some native os specific memory, generally the maximum java heap available for "one" java process is around 1500M.
In your case this limit seems to lie between 1.1G ~ 1.5G.

阅读全文……

标签 : ,