1.log4j配置的日志,最好日志文件是在哪?我的项目里好像是在tomcat里的,这样卸载该项目的时候,日志不是没有了嘛?大家平时是怎么弄的?还有log.debug 和 log.info 等等 能在 console打印嘛?每个类都有根据该类的clazz获得logger,为何要这样呢??
2.tomcat的web.xml里面配置session-timeout 是30  ,项目的web.xml里面配置的session-timeout 是10000  哪个起作用?
3.还有个问题就是,怎么监听浏览器关闭?服务端是监听不到的吧?那用js监听?谁做过这种功能呢??多谢啊!!!!!

解决方案 »

  1.   

    1.log4j配置的日志,最好日志文件是在哪?我的项目里好像是在tomcat里的,这样卸载该项目的时候,日志不是没有了嘛?大家平时是怎么弄的?还有log.debug 和 log.info 等等 能在 console打印嘛?每个类都有根据该类的clazz获得logger,为何要这样呢??
    —— 生产环境一般是配置在专属的LOG目录,因为LOG有时候还需要备份的,但如果只是开发环境,丢了就丢了呗。
    —— debug 和 info 可以在console输出,完全看你的配置文件怎么写的。
    —— 根据class获取logger,可以便于按需配置不同类包下的日志级别,比如:
    <logger name="com.my.test.xxoo">
    <level value="debug" />
    <appender-ref ref="CONSOLE" />
    </logger>
    2.tomcat的web.xml里面配置session-timeout 是30 ,项目的web.xml里面配置的session-timeout 是10000 哪个起作用?
    —— 不知道你Tomcat的web.xml指的是哪个。但一般是项目中的WEB-INF\web.xml 才有对该项目发挥作用。3.还有个问题就是,怎么监听浏览器关闭?服务端是监听不到的吧?那用js监听?谁做过这种功能呢??
    —— 服务器监听不到。尝试在HTML中:<body onunload="funOnClosing()"> 然后自己写函数,似乎只有IE才有作用。
      

  2.   


    2.是tomcat conf 目录里的
      

  3.   


    那个是缺省配置,项目中的WEB-INF\web.xml会生效。
      

  4.   

    哦还有个问题哦,就是 为什么 request能通过getHttpSession  拿到session 呢?session  不是服务端的嘛?
    按我理解通过response 拿到更自然点求解释
      

  5.   

    request 和 response 都是在服务器才能获得的对象。只不过request主要用于操作请求信息,response操作返回信息。从上述来理解的话,也就意味着从request获取所有需要的数据与信息,而response专门负责向浏览器发送数据与信息,所以从request来访问session很合理啊,而且用于标识会话的JSessionID也确实是从浏览器端发送过来的。所以我是觉得挺合理的。
      

  6.   


    JSessionId 是 server 创建好之后,发给浏览器,然后存入cookie中的吧。
      

  7.   


    没错,但是浏览器每次访问服务器的时候,要把JSessionId同时提交给服务器,否则服务器是无法识别该请求究竟跟哪个会话相关联。