web开发、Servlet

一、web开发简述

1 web简述

world wide web 全球广域网、万维网,基于超文本、http、全球性、动态交互性、跨平台的分步式图形信息系统

2 BS和CS概述

BS:Browser-Server 浏览器-服务器模式,客户端使用浏览器来访问访问器
CS: Client Server 客户端 - 服务器模式,客户端通过安装客户端软件来访问服务器

3 web资源的类别

静态资源网站:没有后台数据库、不含程序和一些不可交互的网页
技术包括:HTML、CSS、JS
动态网页:以数据库为基础、网页是程序在运行过程中动态生成的
技术:jsp、servlet、C#、php、python

4 web服务器

使用javaweb技术栈编写的程序需要部署到服务器才能运行
硬件:计算机
软件:
在这里插入图片描述
将上述不属于业务核心的工作交给应用程序来做,应用程序就是web服务器

5 javaEE规范

java中所有的服务器要实现一组由Oracle公司规定的接口,这些接口称为javaEE规范 (13种)
webLogic服务器:Oracle公司产品目前应用最广泛的服务器,收费 (大型服务器)
tomcat服务器:Apache产品 (小型服务器)实现全部jsp和setvlet规范

二、tomcat的使用

1 tomcat的产品页面: http://tomcat.apache.org/

2 tomcat 环境变量配置

设置环境变量
新建CATALINA_HOME
请添加图片描述
设置访问路径请添加图片描述

3 tomcat目录结构

目录名作用
bin启动和关闭tomcat可执行文件
conf配置文件夹,有些重要配置文件在这下面。如:server.xml, web.xml等 不建议乱修改,可能导致tomcat不能启动
libtomcat使用时依赖的一些第三方jar包
logs日志记录文件,记录服务器运行过程中一些事件。包括运行过程中出现异常
temp临时文件夹,保存服务器运行过程中生成的一些垃圾文件
webapps我们做好的项目发布的目录,可以通过浏览器来直接访问
ROOT目录:在浏览器上看到的欢迎页面,在这个目录下
worktomcat工作目录,所有已经发布项目,在这里生成中间文件执行

4 启动与关闭

shutdown.bat
startup.bat
在浏览器上访问:http://localhost:8080

5 tomcat发布方式

5.1 方式一 webapps

在webapps目录下创建一个文件夹demo,在文本夹下面有一个hello.html
重启服务器
访问:http://localhost:8080/demo/hello.html

5.2 方式二 虚拟目录

在conf/server.xml文件的host元素配置context标签
path属性:虚拟访问目录名称
docBase属性: web应用所在目录

好处:项目不需要发布在webapps目录下,因为webapps目录越多,tomcat启动越慢

6 修改tomcat端口

默认端口:8080
修改:conf/server.xml文件中修改
在这里插入图片描述

三、Servlet快速入门

1 什么是servlet

一个java写的小应用程序,运行在web容器中,用于处理用户的请求,并作出响应

servlet与普通java程序的区别:

1.1 普通的java程序由main函数调用,servlet由web容器调用
1.2 servlet运行在web容器中
1.3 对浏览器发送过来的请求做出响应

2 Servlet基于xml配置

2.1 创建web工程/模块

请添加图片描述

2.2 创建好的Web结构如下

请添加图片描述

2.3 为项目添加tomcat库

请添加图片描述

2.4 查看模块依赖![请添加图片描述](https://img-blog.csdnimg.cn/8061a7cb32db4f12ad90b9056ad8130f.png

2.5 在idea中运行Servlet

配置tomcat
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

3 Servlet基于注解配置

@WebServlet注解属性说明
name = “HelloServlet”Servlet名字,类似于<servlet-name>one</servlet-name>
urlPatterns = “/hello”访问地址,可以指定多个地址<url-pattern>/hello</url-pattern>
value=“/hello”如果其它属性都不写,可以省略urlPatterns,只写访问地址即可。不能与urlPatterns同时指定

注解开发servlet代码,继承于HttpServlet,重写service方法

四、Servlet进阶

1 servlet 生命周期

1.1 servlet接口中方法生命周期

创建:默认第一次请求创建
销毁:服务器关闭销毁
创建次数:一次

方法作用运行次数
构造方法在对象实例化的时候执行1次
void init(ServletConfig config)在初始化的时候执行1次
void service(ServletRequest req, ServletResponse res)每次请求都会执行n次
void destroy()在服务器关闭的时候1次

1.2 servlet 运行过程

请添加图片描述
一个Servlet类在Tomcat中只会生成一个对象,不同的浏览器是不同的用户,每个用户是一个线程
request对象和response对象是tomcat创建的,通过service方法传递进来

2 Servlet的执行过程

请添加图片描述

2.1 浏览器发送请求,tomcat接收到请求的地址找到访问哪个项目,通过最后的/hello,找项目中所有的servlet

2.2通过反射读取每个servlet,匹配到/hello,找到需要访问的servlet

2.3 通过反射实例化这个Servlet对象

2.4 tomcat创建request和response对象

2.5 调用service方法将requeset和response对象传递过来

2.6 执行servlet中的代码

2.7 将响应的信封装成response对象返回到浏览器

3 Servlet 继承体系

请添加图片描述
现在所有的浏览器都是使用http协议,所以继承HttpServlet类就可以了

4 HttpServlet

在Servlet规范中,只要请求到了Servlet,那么将执行service()方法,HttpServlet的service方法做了以下功能

4.1 对原有的ServletRequest、ServletResponse进行增强,改为HttpServletRequest、HttpServletResponse

4.2 调用HttpServlet自己的service(),根据前端请求方式的不同来执行不同的方法(get - doGet post - doPost)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值