`
zybing
  • 浏览: 459109 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

重看《Tomcat与Java Web开发技术详解》

阅读更多

顺手翻了一下《Tomcat与Java Web开发技术详解》,虽然是一本很老的书了,2004年的了,但是自己没有亲自写代码有一段时间了,翻翻也带来了不少收获(此书讲的是Tomcat5)。

 

1。 Session的管理:

    Session和Cookie是有关系的,如果关闭了客户端的Cookie,SessionID在客户端也无法记录。因此一般采用Session跟踪方式,如果Cookie可用,记录在Cookie中,如果Cookie不可用,就重写URL。

     JSP中采用 response.encodeURL(url),现在大量的taglib,在重写连接的地方,也都是采用这种方式,避免Session失效(看过几个源代码,确实如此)

 

2。 Tomcat的安全域:

    Tomcat也有自己的用户管理,譬如说admin、manager就是采用自己的安全域方式进行管理。tomcat的用户基础是用户对应角色,角色决定是否有使用的功能。

    tomcat安全域配置可以来自于文件,也可以来自于数据库。可以在自己的程序中使用上这个功能。唯一的问题,tomcat对功能和角色的对应是写在配置文件中的web.xml(server.xml也需要加配置,只是配置用户的数据来源),这样需要有所改变,就不是太容易了,用在自己的系统上,这一部分需要改写的。


3。使用共用资源

     以前也是配过,但是配置起来很简单,没有像书中写的,既要修改server.xml,又要修改web.xml。记得只要在server.xml中配置了一个Resource(一般为DB的链接),在程序中通过JNDI就可以获取了。这本书上说,还需要在应用的Web.xml中,配置一个<source-ref>。

     做一个记录,JNDI的名字为: java:comp/env/自己在配置中定义的名字

     在Server.xml配置Resource的话,先定义一个Resource,再通过ResourceParams定义它的参数值。

 

4。Tomcat阀(Valve)

    说实话,这个功能已经全忘记了,以至于在目前的工作中,一些tomcat上的跟踪很难做到。其实用Valve就可以了。

     Tomcat阀用于对Catalina容器接收到的HTTP请求进行预处理,可以把这些请求都记录下来。或者定义IP的白名单黑名单,过滤访问的主机。


5。其他的一些配置:

   Tomcat中,一些记录的log可以配置,也采用Log4j。不过现在使用,一般就采用Tomcat默认的log方式,不修改它。


6。创建嵌入式Tomcat服务器:

   这个一直没有尝试过,把Tomcat作为自己程序的一部分,嵌入进来。有空要看看

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics