-----tomcat-----------

  •   tomcat安装后问题解决

(1)tomcat无法正常启动的原因分析

                  1.      JAVA_HOME 配置错误,或者没有配置

                 2.      如果你的机器已经占有了8080 端口,则无法启动,

解决方法

(1) 你可以8080 先关闭

       netstat –an

       netstat –anb 来查看谁占用该8080

(2) 主动改变tomcat的端口.

         到conf/server.xml 文件中修改

 <ConnectorconnectionTimeout="20000" port="8088"(去修给config->server.xml的端口号)protocol="org.apache.coyote.http11.Http11NioProtocol"redirectPort="8443"/>

(3) 能够正常启动,但是会导航到另外一个页面.

去修改工具->管理加载项,把默认的导航给禁用即可.

(4) 在访问 tomcat时候,一定保证 tomcat 服务器是启动

 

 

  • u  tomcat的目录结构文件

bin: 启动和关闭tomcat的bat文件

conf: 配置文件

     -->server.xml : 该文件用于配置和 server 相关的信息, 比如 tomcat启动端口后,配置Host,  配置Context 即web应用

     -->web.xml : 该文件配置与 web应用(web应用就相当于是一个 web站点)

      -->tomcat-users.xml: 该文件用户配置tomcat 的用户密码 和 权限

lib 目录: 该目录放置运行tomcat 运行需要的jar包

logs 目录:存放日志, 当我们需要去查看日志的时候,很有用!,当我们启动tomcat错误时候,可以查询信息.

webapps 目录: 该目录下,放置我们的web应用(web 站点), 比如:

建立 web1 目录  下面放置我们的html 文件 jsp 文件..图片... 则 web1就被当做一个web应用管理起来(☞ 特别说明tomcat 6.0 以后支持 tomcat 5 版本 还有别的设置)

 work: 工作目录: 该目录用于存放jsp被访问后 生成的对应的 server文件 和.class文件

u  如何去访问一个 web 应用的某个文件

 

 

u  如何去访问一个 web 应用的某个文件


u  首页面设置及目录规范结构

现在我们要求:hello.html文件设置成 web应用的首页,则需要把web应用的目录格式做的更加规范:


①在web文件夹下配置WEB-INF文件夹

②在 web.xml 文件中添加配置的代码:

 

  <welcome-file-list>

    <welcome-file>hello1.html</welcome-file>

  </welcome-file-list>

       ③通过http://localhost:8088/web1来访问hello1.html

web-inf目录下的 classes目录将来是存放  class文件

lib 目录将来时存放 jar文件

web.xml 配置当前这个web应用的信息.


u  tomcat如何去管理虚拟目录

需求: 当我们把 web 应用放到 webapps目录,tomcat会自动管理,如果我们希望tomcat可以管理其它目录下的web应用?->虚拟目录配置

 

我在d 盘有一个web应用.



u  虚拟目录配置步骤:

①    找到server.xml文件

 

②    编辑host节点 添加Context path

在server.xml中添加:<Contextpath="/myweb2"docBase="d:\web2"/>

myweb2:是访问时输入的web名,实际取出的是web2中的资源

"d:\web2"绝对路径下web2中存放资源如:hello2.html

实际访问时输入的地址:http://localhost:8088/myweb2/hello2.html

绝对路径:从根分区找某个文件

相对路径:从该文件位置去找另一个文件

③ 需要重启tomcat,才能生效.(因为是采用的dom技术讲信息加载到内存中)


context  的几个属性的说明

path:

docbase:

reloadable  ;如果设为ture ,表示 tomcat 会自动更新 web应用,这个开销大,建议在开发过程中,可以设为true, 但是一旦真的发布了,则应当设为false;

upackWAR: 如果设为 ture ,则自动解压,否则不自动解压.

                     ①:打war包 cd:d/web2 然后jar –cvf web2.war *

                     ②

                   

                     浏览打好的war包 Deploy发布后会在webapps中自动生存改文件


u  配置域名

我们看和一个如何配置自己的主机名:

我们在实际访问网站的过程中,不可能使用http://localhost:8080/web应用/资源名  的方式去访问网站,实际上使用类似

       http://www.sina.com.cn 或者

       http://news.sina.com.cn 的方式去访问网站,这个又是怎么实现的呢?

 

看看ie浏览器访问一个web站点的流程.

 

 

实现的步骤如下:

(1)C:\WINDOWS\system32\drivers\etc 下的host文件添加127.0.0.1 www.sina.com.cn

(2) 在tomcat的server.xml文件添加主机名

<Host name="www.sina.com" appBase="d:\web3”>

              <Contextpath="/" docBase="d:\web3" />

</Host>

(3) 在d:\web3 加入了一个 /WEB-INF/web.xml 把 hello2.html设为首页面

如果连端口都不希望带,则可以吧tomcat的启动端口设为80即可.

(4) 重启生效


u  tomcat体系的再说明

图:


如何配置默认主机:

在tomcat/conf/server.xml文件

<Engine name="Catalina" defaultHost="主机名">


u  为什么需要servlet技术?

比如需求:我们希望用户可以贴,用户还可以回复 ....这样一些和用户可以交互的功能,用普通的java技术就完成不了,  sun 就开发了 servlet技术供程序员使用.

u  servlet的介绍

①    servlet 其实就是java程序(java类)

②    该 java 程序(java 类)要遵循servlet开发规范

③    serlvet是运行在服务端

④    serlvet 功能强大,几乎可以完成网站的所有功能

⑤    是学习jsp基础

 

u  tomcat 和 servlet 在网络中的位置

u  servlet的生命周期是怎样的/servlet究竟是怎样工作的

UML 时序图帮助大家理解

参看execel 




面试题: 请简述servlet的生命周期(工作流程)

答:

标准版本:

WEB服务器首先会检查是否已经装载并创建了该servlet实例对象。如果是直接进行第④步,否则执行第②步。

装载并创建该Servlet的一个实例对象。

调用Servlet实例对象的init()方法。

创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用service()方法并将请求和响应作为参数传递进去。

WEB应用被停止或重启之前,Servlet引擎将卸载Servlet,在卸载之前调用Servlet的destroy()方法

 

1.      当serlvet 第一次被调用的时候,会触发init函数,该函数会servlet实例装载到内存.init函数只会被调用一次

2.      然后去调用servlet  的 service 函数

3.      当第二次后访问该servlet 就直接调用 service 函数.

4.      当 web应用 reload 或者 关闭 tomcat 或者 关机 都会去调用destroy函数,该函数就会去销毁serlvet

5.      Servlet的生命周期

当客户端第一次向web服务器发出一个servlet请求时,web服务器将会创建一个该servlet的实例,并且调用servlet的init()方法;如果当服务器已经存在了一个servlet实例,那么,将直接使用此实例;然后再调用service()方法,service()方法将根据客户端的请求方式来决定调用对应的doXXX()方法;当 web应用reload 或者 关闭tomcat 或者 关机,web服务器将调用destroy()方法,将该servlet从服务器内存中删除。

生命全过程:

1.加载

2.实例化

 3.初始化

 4.处理请求

 5.退出服务



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值