当前位置: 首页 > article >正文

JavaWeb初阶 day1

目录

tomcat目录结构

tomcat:web服务器软件

项目部署的方式

直接将项目放到webapps下

配置conf/server.xml文件

在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写

静态项目和动态项目

Servlet

Servlet执行原理

Servlet方法(生命周期)

Servlet3.0注解配置

IDEA与tomcat相关配置

tomcat目录结构

  1. 可执行文件
  2. 配置文件
  3. 依赖jar包
  4. 日志文件
  5. 临时文件
  6. 存放web项目
  7. 存放运行时的数据

tomcat:web服务器软件

概念:处理web请求的。(请求:比如在百度搜索框搜索内容,那谁来响应这个请求呢,servlet)

访问:浏览器输入:http://localhost:8080 回车访问自己

                                 http://别人的ip:8080 回车访问别人

项目部署的方式

直接将项目放到webapps下

在webapps下面新建一个文件夹,里面存放hello.html页面。

注意先启动tomcat才可以运行!

/hello  项目的访问路径——虚拟目录

将项目打成一个war包,再将war包放置在webapps目录下,war包会自动解压缩。

配置conf/server.xml文件

在<host>标签体中配置

<Context docBase="D:\hello" path="/hehe" />

* docBase: 项目存放的路径

* path: 虚拟目录

在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写

<Context docBase="D:\hello" />

*虚拟目录:xml文件的名称

静态项目和动态项目

java动态目录的目录结构:

项目的根目录

   --WEB-INF目录

      --web.xml文件:web项目的核心配置文件

      --classes目录:放置字节码文件的目录

      --lib目录:放置依赖的jar包

Servlet

运行在服务器端的小程序

概念:一个接口,定义了JAVA类被浏览器访问到的(tomcat识别)的规则。

*我们自定义一个类,实现Servlet接口,复写方法。

快速入门:

1、创建一个JAVAEE项目

2、定义一个类,实现Servlet接口

*public class ServletDemo1 implements Servlet

3、实现接口中的抽象方法

4、配置Servlet方法

//在web.xml中配置:
<!-- 配置Servlet>
<Servlet>
<servlet-name>demo1</servlet-name>
<servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>demo1</servlet-name>
<url-pattern>/demo1</url-pattern>
</servlet-mapping>

Servlet执行原理

http://localhost:8080/day13_tomcar/demo1

localhost:8080   :找到某个主机或者是应用程序,通过8080找到tomcat

day13_tomcat    :通过虚拟目录找到项目

demo1     :资源名称,找web.xml,找到demo1

执行原理:

1、当服务器接收到客户端浏览器的请求后,会解析请求url路径,获取访问到的Servlet

的资源路径

2、查找web.xml文件,是否有对应的<url-pattern>标签体内容

3、如果有,则在找到对应的<servlet-class>全类名

4、tomcat会将字节码文件加载进内存,并且创建其对象

5、调用其方法

Servlet方法(生命周期)

方法:

1、init方法:在servlet被创建时执行,只会执行一次

2、Service: 提供服务方法,每一次Servlet被访问时,执行,执行多次

3、destory:销毁方法,在Servlet被杀死时执行,也就是在服务器正常关闭时,执行,执行一次。

4、ServletConfig方法:获取servletconfig对象的

5、getServletInfo:获取Servlet

的一些信息,版本作者等等。

生命周期:

1、被创建    执行init方法,只执行一次

*Servlet什么时候被创建?

   默认情况下,第一次被访问时,Servlet被创建。

   可以配置执行servlet的创建时机。比如在服务器启动时创建

在<servlet>标签下配置

*Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的。

      *多个用户同时访问时,可能存在线程安全问题。

       *解决:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要对其修改值。

2、提供服务

执行Service方法时,执行多次

  *每次访问Servlet时,service方法都会被调用一次。

3、被销毁

执行destroy方法,只执行一次。

   *Servlet被销毁时执行。服务器被关闭时,servlet被销毁

   *只有服务器正常关闭时,才会执行destroy方法。

   *destroy方法在servlet被销毁之前执行,一般用于释放资源

Servlet3.0注解配置

步骤:

1、创建一个JAVAEE项目,选择Servlet的版本3.0以上,可以不创建web.xml

2、定义一个类,实现Servlet接口

3、复写方法

4、在类上使用@webServlet注解,进行配置

    *@webServlet(“资源路径”)

虚拟目录是项目的访问方式,资源路径才是上边要写的

IDEA与tomcat相关配置

1、IDEA会为每一个tomcat部署的项目单独建立一份配置文件

*查看控制台的log:

2、工作空间项目   和   tomcat部署的web项目

*tomcat真正访问的是tomcat部署的web项目,tomcat部署的web项目  对应着工作空间项目的web目录下的所有资源。

WEB-INF目录下的资源不能被浏览器直接访问。

3、断点调试:使用“小虫子”启动   dubug启动

一直坚持下去吧,走得慢一点,稳一点,不着急。


http://www.kler.cn/a/315744.html

相关文章:

  • wafw00f源码详细解析
  • 探索 HTTP 请求方法:GET、POST、PUT、DELETE 等的用法详解
  • MySQL远程连接错误解决:Host is not allowed to connect to this MySQL server
  • 深入了解Git、GitHub、GitLab及其应用技巧
  • Ubuntu 的 ROS 操作系统turtlebot3环境搭建
  • 考研季来啦!考研过程中有哪些事情需要避坑?
  • 从零开始学习Linux(14)---线程池
  • 『功能项目』QFrameWorkBug关联Slot(插槽)【67】
  • C++:使用tinyxml2获取节点下元素
  • android kotlin Extension扩展函数
  • HashMap源码
  • 【bug】通过lora方式微调sdxl inpainting踩坑
  • 用uniapp 及socket.io做一个简单聊天 升级 9
  • 【LeetCode】289.生命游戏
  • 模擬器怎麼多開換IP?
  • 【无人机设计与控制】 基于matlab的蚁群算法优化无人机uav巡检
  • Redis面试真题总结(一)
  • 数据库(选择题)
  • 【最快最简单的排序 —— 桶排序算法】
  • 华为HarmonyOS地图服务 11 - 如何在地图上增加点注释?
  • Java 入门基础篇08 - Java的变量与数据类型的认识
  • 在 Python 中使用 JSON
  • 【Linux取经之路】Linux项目自动化构建工具-make/makefile git三板斧
  • 基于web的工作管理系统设计与实现
  • MacOS升级Ruby版本的完整指南
  • Apache subversion 编译流程