《EJB 3 in Action》中文版
优点:
这是一本好书,浅显易懂,翻译的也不错,入门的经典书籍。
缺点:
不够深入,基本点到为止,特别是关于配置,集群,测试这些内容介绍的太少,或者根本就没有。
《Java 学习笔记 jdk6》
优点:
浅显易懂,涉及的面比较广,有些章节写的引人入胜(我一般很少用这个词形容技术书籍的),特别是关于class loader的章节。
缺点:
大部分章节太浅了,而关于JDBC等章节,我认为可以删掉了,这些根本就是JavaEE的范畴,没必要强插进来。而且例子中使用jdk新特性太少了,一本介绍jdk的书,你自己都不用还指望读者用吗?
《Spring Pro 中文版》
优点:
其中有大段大段的代码,写的太好了,一个字 赞!
缺点:
版本太老了,是spring1.2
《Spring 技术手册》
优点:
书很薄,介绍性的,可以翻翻
缺点:
基本就是翻译的api,其中的例子简直太SB了
《精通Hibernate,孙卫琴》
优点:
我看过写Hibernate的书里面,写的最好的。
缺点:
有一点浅显,而且也没有针对Hibernate3再版过,当时还用的是Hibernate2
《Java参考大全jdk1.3》
优点:
我的java入门书,好书,就是太厚
缺点:
很难适应老外写的教材,不过内容还不错
《Hibernate实战,第二版》
优点:
英文版是圣经
缺点:
中文版是垃圾
《Java web 开发(孙鑫)》
优点:
好书,入门经典
缺点:
太厚了,前面写xml的部分完全可以删掉
《Hand First Serverlet and Jsp》
优点:
好书,入门经典
缺点:
没有
《Hand First 设计模式》
优点:
名气大,浅显易懂
缺点:
怎么说呢,该有的没有,不该有的太多了。
《POJO in action》
优点:
绝对经典,对于2005年以后入门的JavaEE程序员,建议人手一本
缺点:
几乎没什么缺点
《Spring in action2》
优点:
绝对经典
缺点:
但是和其他讲解spring的书没多大差别,而且大部分例子都没有用Annotation,还是xml。
URL Rewrite Filter是一个很好用的url重写的小工具,他可以根据你提供的url规则进行url的重写。这里是它的主页。
使用方法很简单,首先把它提供的jar包放到你lib目录下。之后在web.xml文件中加入filter的定义。此时注意filter的顺序。
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>confPath</param-name>
<param-value>/WEB-INF/urlrewrite.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
之后创建/WEB-INF/urlrewrite.xml文件
它包括多种匹配方式,主要有正则表达式,wildcard,rewrite_mod等方式,下面演示的是正则表达式的方式
<rule match-type="regex">
<condition type="scheme" operator="equal">http</condition>
<condition name="host" operator="equal">www.example.com</condition>
<condition type="port" operator="notequal">443</condition>
<from>^/(.*)$</from>
<to>https://%{server-name}%{context-path}/$1?%{query-string}</to>
</rule>
其中from标签就是你的url规则,to标签值的就是要重写的地址。condition是指的条件。
其中的具体参数可以参考user manual
这个例子指的就是把http请求重写为https请求。
https请求时ssl加密请求,所用端口为port。要注意防止循环转向,所以重写的条件中包括了端口不包括443.
也就是这句
<condition type="port" operator="notequal">443</condition>
而且在url中可以使用很多request或者response中的参数或者方法。比如:%{server-name}就是得到请求的域名,%{context-path}是上下文路径,%{query-string}是请求所带的参数。
而这些所对应的其实就是request.getRemoteServerName(),request.getContextPath(),request.getQueryString()方法。
具体哪些可以使用可以参考他的帮助手册