Web核心
1. 服务器
理解
web服务器一般是指网站服务器,为软件提供后台服务的软件。相当于远程的一台计算机包含磁盘 CPU 内存和服务器软件等。我们这里的服务器指 服务器软件
常见服务器软件:
Tomcat(Apacha) 目前最流行的JavaWeb服务器软件。开源免费
JBoss
Weblogic
......
Tomcat的使用
1. 下载 解压 apache-tomcat-8.5.20-windows-x64.zip
解压的目录不要过深 不要有中文
2. 配置好JDK 需要配置JAVA_HOME环境变量
目录:
bin:tomcat二进制启动文件
conf:tomcat配置文件
lib: tomcat依赖包
logs: tomcat运行的日志信息
temp:临时文件
webapps: web工程
work:编译文件
2. idea与tomcat整合
Servlet
理解:
Servlet 是运行在 Web 服务器中的小型 Java 程序。Servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求。
① Servlet是一个Java接口
② 需要运行在服务器中
③ 可以处理来自客户端的请求和响应
作用:
处理来自客户端的请求和响应
使用:
① 自定义类实现Servlet接口
② 实现Servlet中未实现方法 5
③ 配置Servlet的访问路径
在web.xml文件中配置
<!--声明Servlet-->
<servlet>
<servlet-name>MyServlet1</servlet-name>
<servlet-class>com.ujiuye.servlet.MyServlet1</servlet-class>
</servlet>
<!--配置访问路径-->
<servlet-mapping>
<servlet-name>MyServlet1</servlet-name>
<!--http://localhost:8080/JavaWeb_day11_web/xx-->
<url-pattern>/xx</url-pattern>
</servlet-mapping>
使用注意事项
1. Servlet是由谁实例化的? 由tomcat服务器(Servlet容器)实例化的
2. Servlet实例化几次?只初始化一次
3. Servlet什么时候初始化的?第一次请求
4. 一个Servlet可以设置多少个访问路径?可以设置多个访问路径
5. 一个路径可以访问多个Servlet吗?一个路径只能映射一个Servlet
6. 路径多元化
/xx 一层
/xx/xxx/xxxx 多层
/* 除去已经配置过的路径的其他任意路径
*.png 后缀的形式
浏览器请求Servlet的过程
1. 当浏览器url中输入http://localhost:8080/JavaWeb_day11_web/xx
2. 根据/xx 匹配web.xml中的<servlet-mapping>中的<url-pattern>
3. 没有匹配到 报404未找到 如果匹配到
4. 再根据匹配到的<servlet-mapping>中的<servlet-name>,根据这个<servlet-name> 进步匹配 <servlet>中的<servlet-name>
5. 没有匹配到 报404未找到 如果匹配到
6. 根据当前的<servlet-name>找对应的<servlet-class>
7. 反射机制加载当前类
Servlet的生命周期方法
init 初始化方法 默认当第一次请求Servlet时执行该方法 对Servlet做初始化操作。
service 处理客户端请求和响应 实现浏览器和Servlet交互
destory 销毁方法 服务器关闭 移出应用 tomcat销毁当前Servlet
Servlet的进化史
1. GenericServlet抽象类 实现了Servlet接口,并且实现了除service之外的其他方法
2. HttpServlet 继承了GenericServlet 实现service方法 根据HTTP协议的请求方式执行不同的方法doXx,然后定义自己的service方法。开发者使用只需要重写对应请求方式的doXx 或者重写service方法
注解的方式使用HttpServlet