`
wang7839186
  • 浏览: 41217 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

12.17日记

 
阅读更多

一、一直觉得用户请求和struts处理请求之间有一些空白的知识点,所以,今天准备看看tomcat。

其实像struts这类的控制层框架都是实现了servlet api,然后对一些业务进行进一步封装后的产物,但是它也只是负责处理业务的,那么用户的请求怎么就到达控制层呢?这就是servlet容器的作用了,tomcat作为开源的servlet容器,也实现了servlet api,在用户请求到来时,会为处理请求的servlet创建request和response,然后调用servlet的生命周期函数,当servelt处理完请求后,仍然由容器接受response,然后返回给客户端。

我们先看看tomcat安装完成后,在server.xml中默认的配置:

 

<?xml version='1.0' encoding='utf-8'?>

<Server port="8005" shutdown="SHUTDOWN">
  
  <Service name="Catalina">
  
    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
    <!--
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
        maxThreads="150" minSpareThreads="4"/>
    -->
    
    
   
    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
    <!-- A "Connector" using the shared thread pool-->
    <!--
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
    -->           
    <!-- Define a SSL HTTP/1.1 Connector on port 8443
         This connector uses the JSSE configuration, when using APR, the 
         connector should be using the OpenSSL style configuration
         described in the APR documentation -->
    <!--
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
    -->

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">         
    --> 
    <Engine name="Catalina" defaultHost="localhost">

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

      </Host>
    </Engine>
  </Service>
</Server>

 从配置上,我们对tomcat的结构就比较了解了,顶层的元素是server和service,一个server可以包含多个service,在service中,可以包含多个connector和一个engine,engine中又包含多个host,代表多个虚拟主机,在host中,我们可以配置多个context,代表一个虚拟主机中多个app,我们可以由此联想一个tomcat配置多个虚拟主机,或者一个虚拟主机中配置多个共存的应用。

 

二、session机制

在看tomcat时,涉及到了session的管理,所以顺便回顾了一下session的知识,session与cookie不同的是,它是服务器端的状态,但是底层是基于cookie实现的,在客户端第一次请求的时候,服务器会返回一个sessionId,然后客户端会把它存在cookie中,然后下一次请的时候会向服务器端发送这个id,然后服务器会根据这个id去取出相应的session。

由于session是基于cookie的,所以一旦客户端把cookie禁用之后,session的状态就无法维护了。这个时候我们就要用到response.encodeURL(url)了,它的实现机制是这样的:

(1)先判断页面是否禁用session,如果禁用,那么直接返回url

(2)如果没有禁用,那么继续判断是否禁用cookie,如果没有禁用,那么直接返回url,sessionId会在header的cookie中找到

(3)如果禁用,那么会在url后面自动加上sessionID,然后发送到服务器端,就保证了session状态不会受到是否禁用cookie的影响

 

三、发现tomcat的源码时ant项目,就顺便看了下ant的东西。

ant和maven都是项目项目管理工具,它的安装和maven类似,都是先去下载bin的zip包(如果你的操作系统是windows的话),然后解压,配置path,然后再命令行中测试ant -version,如果有版本输出,证明ant被正确安装了

具体的用法就没仔细看了,以后需要了再学习吧。

 

四、在做项目时一般是拷贝之前的log4j文件,今天了解了一下

 

###rootLogger是所有log的超类
###格式是:[日志级别]appender类型,appender类型
log4j.rootLogger=debug, console,file
log4j.logger.service=debug, service


### direct messages to file *.log ###
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%p] [%t] [%c:%L] - %m%n

log4j.appender.service=org.apache.log4j.DailyRollingFileAppender
log4j.appender.service.File=${catalina.home}/logs/main.log
log4j.appender.service.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.service.Append=true
log4j.appender.service.layout=org.apache.log4j.PatternLayout
log4j.appender.service.layout.ConversionPattern=%d [%5p] [%F:%L] %M: %m%n

 

 

 

分享到:
评论

相关推荐

    Java入门级项目云日记(3.29G)

    12_012_云R记_用户模块_用户登录_思路分析.mp4 13_013_云R记_用户模块_用户登录_后端代码实现.mp4 14_014_云R记_用户模块_用户登录__功能测试.mp4 15_015_云R记_用户模块_BaseDao.mp4 16_016_云R记_用户模块_BaseDao...

    DicomObjects用户手册-中文版

    ........................17 5.1阅读............................................... ................................................. .......... ....... ....... ..............17 5.2创建...................

    招商银行银企直连接口说明书5.36.0

    1.1 用户登录..........................................................15 1.2 用户退出..........................................................17 1.3 系统参数设置........................................

    软件工程师日语 沪江

    【【【软件工程师日语【软件工程师日语软件工程师日语软件工程师日语】】】12.】12.12.12.仕様書仕様書仕様書仕様書(((6(666))))...........................................................................

    软件工程师日语仕様書

    【软件工程师日语】12.仕様書(6).........................................................................................21 【软件工程师日语】13.走查......................................................

    程序文件.doc

    A/0版 发布日期:2018年1月1日 实施日期:2018年1月1日 目 录 文件控制程序(JXHG/CX- 01)........................................................................ ....2 记录控制程序(JXHG/CX- 02)............

    公司客户供应品异常单.doc

    12. □电话连络 □传真联络:记录处理该异常单的人员的联系方式,以便于与处理人进行沟通。 13. 联络人:记录处理该异常单的人员的名称,以便于了解处理人。 14. 客户答复或承诺:记录客户对异常单的答复或承诺,以...

    excel中161个VBA_自定义函数超级实用

    '17.函数作用:计算日期差,除去星期六、星期日...........45 '18.函数作用:将英文字反转的自定函数...................46 '19.函数作用:计算个人所得税...........................46 '20.函数作用:一个能计算是否有...

    2021温湿度表原始记录2.docx

    13. 有效日期:有效日期是指温湿度表仪器的有效日期,例如2014年12月08日。 14. 温度:温度是指温湿度表仪器测量的温度值,例如25℃。 15. 湿度:湿度是指温湿度表仪器测量的湿度值,例如60%RH。 16. 检定员:...

    WorkFlow Specify

    12. 关系路由(Relationship Based Routings).............................................................7 13. 动态路由(Dynamic Routing)...................................................................

    服装进销存管理系统

    12.清仓退货 13.清仓退货记录 14.采购入库 15.采购信息 16.销售出库 17.出库信息 18.退货原因设定 19.客户退货 20.调换原因设定 21.客户调换 22.日结算 23.库存统计 24.营业利润 25.添加备忘录 26.备忘录信息 27....

    大物实验数据处理.xlsx

    ) 孔为中心均匀分布的 12 孔, 6-ф 13. 5, 4-M10-6H 深20 孔深 24 及2-M10-6H的孔进行加工 1.3 本章小结 在本章节中对题目所给的零件进行了简要的工艺分析, 注明了各个孔的同轴度、 面的粗糙度。 第二章 工艺规程...

    护理工作领导小组会议记录资料.pdf

    17. 病房卫生问题解决:针对病房提出的卫生问题,我们在六月初将护工交由保洁公司管理,但期间由于两名护工将我院起诉,官司没结案,我们与保洁公司的合同没签,护工管理就职责不明,架空了。现在是管理有保洁公司管...

    中考资料系列-【精品】10-12年级必背72篇古诗文.docx

    22. 《江城子·乙卯正月二十日夜记梦》苏轼 23. 《念奴娇·赤壁怀古》苏轼 24. 《登快阁》黄庭坚 25. 《鹊桥仙》(纤云弄巧)秦观 26. 《苏幕遮》(燎沉香)周邦彦 27. 《声声慢》(寻寻觅觅)李清照 28. 《临安春雨...

    iSee视频监控 v5.2

    单机容量支持12路D1、48路CIF; 支持单画面、4画面、9画面、16画面、20画面、25画面显示,可全屏显示,支持自动 翻页; 多画面实时显示/录像/回放功能,支持多协议云镜控制,支持多种报警盒实现联动报警; ...

    DBA日记 作者:白鳝

    第一部 (28) 6月17日 完美的效果 85 第一部 (29) 6月18日 准备收工 88 第一部(30) 6月19日 突然事件 90 第一部(31) 7月20日 重回沈阳 92 第一部(32) 7月21日 课堂风波 95 第一部(33) 7月23 世博园一日游...

    Win10优化工具v1.0.1.exe.zip

    12. 使前台任务拥有最大优先级 13. 快速响应应用程序请求 14. 窗口自动刷新 15. 开启自动刷新 (防假死) 16. 加速缩略图弹出速度 17. 禁用故障转储 Dump 18. 提高前台程序的显示速度 19. 清除内存内不使用的 DLL 文件...

Global site tag (gtag.js) - Google Analytics