tomcat以及servlet

2021/11/14 6:09:54

本文主要是介绍tomcat以及servlet,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

为什么需要用到tomcat服务器?
web应用(开发好的web项目)必须部署到web服务器(如tomcat)上,别人才能通过浏览器访问到。

Tomcat:Apache组织提供一个免费开源的小型的服务器软件。支持Servlet和JSP规范。
因为tomcat技术先进,性能稳定,而且免费。因而深受Java爱好者的喜爱,是目前比较流行的Web应用服务器。

【作用】 运行web项目。

tomcat目录

将下载的zip文件解压后,可以看到如下的目录结构:

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的工作目录。

如何直接访问tomcat中的项目?

如何直接发布?必须将静态文件等放在webapps中的ROOT文件夹内.否则访问不到.(根目录)

访问地址:localhost:8080/文件名

用ideal发布:
方式二:IDEA配置tomcat直接发布项目

第一步:配置JRE

在Run Configurations中,选择JRE。

第二步:启动项目

什么是Servlet

Servlet 运行在服务端的Java小程序,是sun公司提供一套规范,用来处理客户端请求、响应给浏览器的动态web资源。

Servlet 的作用

  1. 接收请求 :接收客户端发送的请求数据;
  2. 处理请求数据;
  3. 响应结果 :将处理结果响应给客户端(浏览器);

Servlet入门开发步骤

  1. 创建一个普通java类实现Servlet接口;

  2. 重写Servelt接口中的所有抽象方法;

  3. 注册这个类;过程:

a. 在web.xml中配置这个类的信息;

b. 配置这个类的映射路径;

  1. 在service方法中处理请求和响应的业务逻辑;

  2. 发布项目,启动项目之后,通过映射路径访问这个类;

执行步骤:
1.浏览器访问路径
2.路径映射到对应的类上
3.执行里面的service方法(第一次会先执行初始化init方法)

Servlet生命周期

  1. 谁创建:tomcat创建;
  2. 何时创建:第一次访问这个Servlet的时候,只创建一次,创建完成后会调用init()方法;
  3. 如何工作:每次请求到这个Servlet时,由service方法处理请求和响应信息;
  4. 何时销毁:服务器正常关闭,销毁前会调用destory()方法;

. 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()方法;

url-pattern中的映射路径配置存在以下几种方式:

  1. 完全匹配 /user/hello 资源路径为/user/hello时可以访问
  2. 目录匹配 /user/* 资源路径中含有/user目录均可访问
  3. 后缀名匹配 *.do 资源路径中以.do结尾的均可访问
  4. 缺省路径(默认路径) / 访问的路径找不到,就会去找缺省路径

【关于缺省路径】
URL输入http://localhost:8080/servlet_test/index.html 如何读取文件? //localhost 是本地计算机的默认WEB发布路径,8080是端口号。 如果你访问这个URL,就可以看到你本机上WEB服务器发布的内容。
1)到当前day10应用下的web.xml文件查找是否有匹配的url-pattern。
2)如果没有匹配的url-pattern,则交给tomcat的内置的DefaultServlet处理。
3)DefaultServlet程序到day10应用的根目录下查找是否存在一个名称为index.html的静态文件。
4)如果找到该文件,则读取该文件内容,返回给浏览器。
5)如果找不到该文件,则返回404错误页面。

<servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>com.heima.servlet.HelloServlet</servlet-class>
</servlet>

<!--2.配置映射路径,映射到HelloServlet-->
<servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>

普通的Servlet对象在我们第一次访问的时候创建, 开发中,如果我们需要在服务器启动的时候,初始化Servlet对象应该如何编写呢?
解决:此时的业务场景,我们需要在web.xml文件中给指定的Servlet添加一个标签

实现步骤:在web.xml中在标签内部中配置:

2 --- 传入正整数,整数越小,被创建的优先级就越高。

注解开发:Servlet3.0新特性

创建完成后,Servlet类上面会默认添加一个注解@WebServlet(name="Servlet3Demo") 。这个@WebServlet注解就是用来配置当前这个Servlet的。这个注解中常用的有两个属性:

  1. name属性: 相当于web.xml的
  2. urlPatterns属性: 编写访问servlet的路径 类似于

package com.heima.servlet;

@WebServlet(name = "Servlet3Demo",urlPatterns = "/servlet3")
或者
@WebServlet("/servlet3")



这篇关于tomcat以及servlet的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程