servlet及Tomcat介绍

本文介绍了Servlet的基础概念、生命周期及Tomcat服务器的基本配置。详细解释了Servlet如何处理客户端请求,以及Tomcat服务器中各文件夹的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Servlet

简介:

servlet生命周期

Servlet加载顺序

动态web项目下web.xml文件

Servlet执行顺序:(构造、初始化、处理、销毁)

Tomcat

目录下各文件夹的用途:


Servlet

简介:

  • 底层是TCP/IP 传输数据和逻辑处理就直接servlet解决了

  • 服务器也是个软件

  • 互联网最底层的协议是TCP/IP

  • servlet接收客户端的请求 连接数据库 如果有返回 再从数据库返回到客户端(使用打印流或者jsp)

  • servlet运行需要服务器

  • 继承HttpServlet抽象类时:service()方法可以接受客户端的请求并响应客户端

  • web项目的jar包不能直接用 放在WebContent下的Web-inf》lib文件夹下即可

  • 地址栏直接请求就是get请求

  • 什么是Servlet ?
  • Servlet 是JAVAEE WEB 开发的规范。----API(提供了一些方法)
  • Servlet 运行需要服务器支撑.Servlet (Server Applet) 是 Java Servlet的简称,服务程序与服务连接器,用java编程的服务器端的程序.
  • 作用:  用于交互浏览器(客户端)与服务器的生成动态的web内容(网页).
  • 担当客户端请求与服务器响应的中间件(层)

注:servlet本质上就是一个多线程的类

注:servlet可以跳转servlet

 

servlet生命周期

分为如下阶段:

<1>实例化: 第一次请求的时候,实例化servlet对象的(第一次在浏览器打开这个网址的时候)

<2>init()初始化: 获取servlet初始化配置参数信息. 只执行一次.

<3>处理service/doget/dopost 反复地去执行的,

<4>销毁: 服务器/tomcat 停止

注意: 一旦servlet 实例化了,长期驻留在内存中,只要服务器停止,此对象才会销毁.

 

Servlet加载顺序

  • 在项目web.XML文件中设置<load-on-startup>1</load-on-startup>

注:它的值必须是一个整数,表示servlet 被加载的先后顺序,(先加载值小的)

如果值为正整数或者0时,表示容器在应用启动时就加载servlet并初始化这个servlet, 值越小,servlet的优先级越高,就越先被加载,值相同,容器就会自己选择顺序加载.

例子:设置之后 只要启动服务器就会实例化这个servlet(构造方法和init方法)

<servlet>
    <description>生命周期</description>
    <display-name>TestServlet</display-name>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>com.iotek.servlet.LifeServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

 

动态web项目下web.xml文件

  • mapping下面的url-pattern就是浏览器url上面输入的一部分(路径必须有(/)表示根目录)

    当请求url-pattern的时候 根据名字找到对应的servlet名字 然后匹配下面的类

    找到这个类自动运行类里面的servie()方法

  • servlet-mapping里面 servlet-name必须跟 servelt里面的name一样

  • 理论上可以有多个servlet 多个servlet-mapping 一一对应

大致普通代码:

<servlet>
    <description></description>
    <display-name>TestServletConfig</display-name>
    <servlet-name>TestServletConfig</servlet-name>
    <servlet-class>com.iotek.servlet.TestServletConfig</servlet-class>
    //下面传的参数是使用init方法里面的config对象获取的
    <init-param>
      <param-name>user</param-name>
      <param-value>yangmiao</param-value>
    </init-param>
    <init-param>
      <param-name>user1</param-name>
      <param-value>zhaojie</param-value>
    </init-param>
    
    //启动服务器的时候就创建这个Servlet对象
    //值越小就先启动  最小是0
    <load-on-startup>1</load-on-startup>

</servlet>
<servlet-mapping>
  <servlet-name>TestServletConfig</servlet-name>
  <url-pattern>/config.do</url-pattern>
</servlet-mapping>

<error-page>
    //错误代码
    <error-code>404</error-code>
    //错误之后跳转页面 写上路径 
    <location>error.html</location>
</error-page>
//每一种错误写一对
<error-page>
    //错误代码
    <error-code>500</error-code>
    //错误之后跳转页面 写上路径 
    <location>error1.html</location>
</error-page>
<error-page>
    //不写错误代码  不是上面两种就会跳转到这个页面
    <location>error2.html</location>
</error-page>

//设置session失效时间
 <session-config>
        <session-timeout>30</session-timeout>     默认30分钟
 </session-config>


注:有很多标签,有时间慢慢学吧

 

Servlet执行顺序:(构造、初始化、处理、销毁)

public class LifeServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    
    public LifeServlet() {
    	System.out.println("构造方法");
    }

	
	public void init(ServletConfig config) throws ServletException {
		System.out.println("init  初始化");
	}

	
	public void destroy() {
		System.out.println("destroy 销毁");
	}

	 
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("处理");
	}
}

 

Tomcat

  • tomkat版本跟jdk版本尽量一致

  • shutdown.bat是关闭tomcat程序

  • conf目录下面有个server文件 里面可以修改端口号之类的信息

  • lib:websocket.jar包 是解决传输数据的

  • eclipse集成之后 使用的 .metadata里面的 server c什么文件夹里面的(但是我修改了路径,项目都在Tomcat根路径下的wtpwebapps文件夹
  • eclipse上面出现的服务器(server)文件夹里面的东西 相当于Tomcat程序目录里conf目录里的东西,集成之后就不能按照原来的样子测试了

 

目录下各文件夹的用途:

  • Bin目录:存放tomcat 应用程序.

  • 启动tomcat 软件

    浏览器输入http://localhost:8080/ 出现cat页面表示服务器启动成功.

  • Conf目录: 存放服务器相关的配置,比如修改端口号:

  • Lib 目录: 存放tomcat应用程序自身的jar包.—servlet api

  • Logs目录  存放服务器相关的日志信息.(可以在里面看到服务器出现的异常之类的)

  • Temp 目录:存放临时文件(上传)

  • Webapps目录:  部署项目(一个项目开发好部署在这里) 我的eclipse项目文件就在这

  • Work 目录 : 工作目录.class文件。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值