A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


一:Tomcat目录解析
bin:脚本目录
        启动脚本:startup.bat
        停止脚本:shutdown.bat
conf:配置文件目录 (config /configuration)
        核心配置文件:server.xml
        用户权限配置文件:tomcat-users.xml
        所有web项目默认配置文件:web.xml
lib:依赖库,tomcat和web项目中需要使用的jar包
logs:日志文件.
        localhost_access_log..txt tomcat记录用户访问信息,..表示时间。
        例如:localhost_access_log.2017-04-28.txt
temp:临时文件目录,文件夹内内容可以任意删除。
webapps:默认情况下发布WEB项目所存放的目录。
work:tomcat处理JSP的工作目录。

2.Tomcat启动报错
错误: Caused by: java.net.BindException: Address already in use: JVM_Bind
原因:端口号冲突
解决:通过修改tomcat目录下conf/server.xml配置文件修改端口号。将8080修改成其他端口号。
二:Servlet作用
1.接收请求 :接收客户端发送的请求数据;
2.业务逻辑的处理;
3.响应结果 :将处理结果响应给客户端(浏览器);
三:Servlet开发步骤
1.创建一个普通java类实现Servlet接口;
2.重写Servelt接口中的所有抽象方法;
3.注册这个类;
        1.在web.xml中配置这个类的信息;
        2.配置这个类的映射路径;
4.在service方法中处理请求和响应的业务逻辑;
5.发布项目,启动项目之后,通过映射路径访问这个类;
四:Servlet的生命周期
        1. 谁创建:tomcat创建;
        2. 何时创建:第一次访问这个Servlet的时候,只创建一次,创建完成后会调用init()方法;
        3. 如何工作:每次请求到这个Servlet时,由service方法处理请求和响应信息;
        4. 何时销毁:服务器正常关闭,销毁前会调用destory()方法;

总结:
1. Servlet对象的创建:
    1. 创建者:tomcat;创建时机:在Servlet第一次被访问的时候;
    2. 特点:
        1. 只会创建一次(单例);
        2. 对象创建完成之后,会调用init()方法;
2. Servlet运行:
    1. service()方法接收用户的请求,和处理响应;
    2. 特点:
        1. 每次对这个Servlet的访问都会由service()方法来处理;
        2. service()方法的两个参数:request和response对象专门用来处理请求和响应;
3. Servlet销毁:
    1. Servlet对象在服务器正常关闭的时候销毁;
    2. 特点:
        1. 销毁的时候会调用destory()方法;

4.url-pattern中的映射路径配置
    1. 完全匹配           /user/hello          资源路径为/user/hello时可以访问
    2. 目录匹配            /user/*                 资源路径中含有/user目录均可访问
    3. 后缀名匹配        *.do                 资源路径中以.do结尾的均可访问
    4. 缺省路径            /                     访问的路径找不到,就会去找缺省路径
    tomcat获得匹配路径时,优先级顺序:1 >2 > 3 > 4

五:加载Servlet对象优先级配置
问题:普通的Servlet对象在我们第一次访问的时候创建, 开发中,如果我们需要在服务器启动的时候,初始化Servlet对象应该如何编写呢?
需求:服务器tomcat启动,立刻加载配置文件,获取配置文件信息,为项目后续代码提供数据支持。
解决:此时的业务场景,我们需要在web.xml文件中给指定的Servlet添加一个标签<load-on-startup>
实现步骤:在web.xml中在<Servlet></Servlet>标签内部中配置:
<load-on-startup>2</load-on-startup>  --- 传入正整数,整数越小,被创建的优先级就越高。12345


2 个回复

倒序浏览
奈斯
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马