Servlet功能及访问Web项目

Servlet day1

认识j2ee和javaee的关系(j2se和javase)
认识javaee,以及servlet、jsp和javaee的关系
认识tomcat服务器和http协议请求的关系
认识tomcat服务器和servlet、jsp的关系

一、相关概念

注意:在2017年9月oracle宣布将JavaEE所有权转交给Eclipse Foundation, 2018年03月,开源组织Eclipse基金会宣布将JavaEE(Enterprise Edition)被更名为JakartaEE(雅加达) https://jakarta.ee/

二、tomcat软件

tomcat 一个常用的web容器,支持javaee规范中的servlet和jsp的运行,同时也具备web服务器的功能(支持http协议的访问)


tomcat运行需要依赖本地安装的JDK

  1. 自己手动启动tomcat服务器
    必须安装JDK,并且配置JAVA_HOME环境变量
    例如:
    JAVA_HOME=C:\Program Files\Java\jdk1.8.0_74
  2. 把tomcat和Eclipse关联起来,然后使用Eclipse来管理tomcat
    tomcat服务器运行的时候,需要占用一些端口号
    默认监听的http协议的端口为8080,一般会这这个端口号修改为别的值

tomcat服务器中的目录结构

  1. bin目录 存放运行tomcat需要的命令文件(Unix和wondows的都有)
  2. conf目录 存放tomcat相关的配置文件
    其中最重要的一个配置文件就是server.xml
    tomcat服务器的端口号就是在这里配置的
  3. lib目录 存放项目运行时需要的jar包
    这个目录的jar包是公共的jar包,tomcat服务器可以同时部署多个web项目,这个多个项目就可以共享这些jar包了
  4. logs目录 存放tomcat运行时的日志文件
    tomcat把会运行时的重要信息记录下来,比如tomcat中部署的web项目发生了严重错误
  5. temp目录 存放tomcat运行时产生的临时文件
    tomcat在运行期间,有时会产生一些临时文件,这些文件默认放到这里目录下
  6. webapps目录 存放web项目的位置
    把web项目服务到tomcat服务器中,其实就是把项目放到这个目录下面
  7. work目录 和jsp页面相关的目录
    在jsp学习中再来了解这个目录

三、web项目的结构

web项目的目录结构是固定的

  1. web项目的名字就是web项目的文件夹
    例如:新建一个web项目,名字为web_test
    对应的,就要创建一个文件夹,名字为web_test

  2. web_test文件夹下面,必须要有一个固定的文件夹:WEB-INF

  3. web_test文件夹下面,除了WEB-INF之外,其他的文件夹都可以随意的创建,将来这些地方就可以存放web项目中的,html页面、css样式、js脚本、各种项目用的图片等资源(这些都叫web资源,通过浏览器访问web项目,就是来访问这个web资源)

  4. WEB-INF文件夹下面,有俩个固定的文件夹和一个固定的文件
    文件夹:classes lib
    文件:web.xml

  5. classes lib web.xml的作用

    • classes文件夹: web项目中要写java代码,java代码还要编译为class文件,编译好的class文件就要放到这个文件夹中
      注意:放到tomcat服务器中运行的web项目,不需要保存.java文件,只需要有class文件就可以了

    • lib文件夹:这个web项目在运行的时候所需要的第三方jar包.这些jar包是项目自己使用的,每个web项目都有自己的lib目录
      注意:项目中的lib目录和tomcat中的lib的区别

    • web.xml文件:这个是web项目的配置文件,每个web项目都要有自己的配置文件(web.xml),同时这个web.xml文件内容是让tomcat服务器在启动期间来自动读取的

    tomcat能自动读取web项目中的web.xml原因
    1.web项目是在tomcat中部署的
    2.web项目结构是固定的

  6. web.xml文件的内容
    在tomcat里面的conf目录中,有一个web.xml文件的样例

  7. 把web项目部署到tomcat服务器中
    就是把web项目放到tomcat中的webapps里面

  8. 启动tomcat服务器

  9. 访问tomcat中指定项目里面的资源
    http://ip:port/项目名/资源路径
    http://127.0.0.1:8989/web_test/test.html

四、浏览器通过url地址,访问web项目中的java代码(动态资源)

要求:
浏览器中输入http://127.0.0.1:8989/web_test/hello
访问到HelloWorld类中指定的方法


实质:通过浏览器向web服务器中某个地址发送http协议的请求(get或post等),让服务器自动调用某个对象中的指定方法,从而让该方法执行完可以给本次http请求返回一个http响应。最后浏览器收到响应后进行解析并显示给用户结果(一般会是一个页面)。


url地址–调用–>java对象中的方法(servlet技术)


在javaee规范中,想实现 这种通过浏览器的地址访问web项目中的java对象里面的方法 这个功能,就必须按照javaEE中的相关规范来编写代码(servlet技术就是这个规范)

五、实现servlet功能的步骤:

1.编写servlet
自己写一个普通类,然后去实现或者继承javaEE规范中所提供的指定接口或者父类,然后再重写指定方法.这个指定接口或者父类都在tomcat的lib目录里面的servlet-api.jar中

2.在web.xml文件中配置自己编写好的servlet

因为servlet对象的创建,以及对象中指定方法的调用,都是由tomcat服务器来负责处理的。

web.xml配置文件又tomcat服务器在期间必须要读取的web项目的中的一个文件,所有要把自己写好的servlet相关信息配置到web.xml中,以便让tomcat及时的知道这些信息,然后就可以创建对象和调用方法了.

		<servlet>
			<servlet-name>test</servlet-name>
			<servlet-class>com.briup.test.HelloWorld</servlet-class>
		</servlet>

		<servlet-mapping>
			<servlet-name>test</servlet-name>
			<url-pattern>/hello</url-pattern>
		</servlet-mapping>

		http://127.0.0.1:8989/web_test/hello
		http://127.0.0.1:8989/web_test/test.html

思考:
1.web项目中的我们为什么没有编写程序入口(main)?
2.我们编写的HelloWorld为什么可以称之为Servlet?
3.HelloWorld这个类的对象是谁创建的?
4.当我们通过浏览器发请求访问HelloWorld对象的时候,tomcat会调用这个类的中的哪个方法来处理这个请求?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值