一. web服务器
1.1 概念
web服务器就是web项目的容器,我们将开发好的web项目部署到web容器中,才能使用网络中的用户通过浏览器进行访问1.2 静态资源和动态资源
web项目中的资源根据其特性可以分为两类:
- 静态网页:网页界面中的数据始终保持不变(HTML/CSS/JS/图片)
- 动态网页:网页中的数据根据用户不同的请求可以会发生变化,也就是说网页中的数据是由程序根据用户的请求意图动态产生的
1.3 常见的服务器
- Tomcat(Apache开源,主流的web服务器之一,多应用于Javaweb项目开发)
- Jetty(运行效率高于Tomcat)
- WebLogic (Oracle,收费)
- WebSphere(IBM)
- Nginx(web静态资源服务器)
1.4 tomcat
Tomcat是Apache开源组织( apache.org )共享的Jakarta项目中的一个核心向,Tomcat开源免费、支持Java中的动态网页技术Servlet和JSP规范,因此Java开发者多使用Tomcat. Tomcat目前最新版本是10.1(alpha),在企业主流使用8.0和9,我们的学习主要基于8.0版本;各个版本之间的最大区别就是对于JavaEE版本及Servlet规范的支持、依赖的JDK版本。Tomcat8.x全面支持Servlet3.x规范及JavaEE4规范。 Tomcat基于其先进的技术、稳定的性能深受Java开发者的青睐。 Tomcat官网: Apache Tomcat® - Welcome!
1.5 启动发布一个静态资源
先找到tomcatbin目录下的startup.bat启动tomcat服务,出现下面黑框框即服务开启成功 然后再webapps目录下创一个文件夹通过绝对路径就可以访问静态资源。
1.6 tomcat和eclipse 整合
- 配置tomcat服务器
- 新建一个tomcat服务器
- 创建一个动态的web工程
- 在web的根目录下 放置若干静态资源【html css 图片 音频】
二. servlet
2.1 概念
Servlet是 服务器端的Java程序、能够接收HTTP请求、处理HTTP请求、并对HTTP请求进行响应的 动态网页技术。 Servlet是JavaEE(JavaWeb)规范的一个重要组成部分。 javaee 13个规范之一 是web的三大组件之一 web的组件: 由web容器创建,并且由web容器管理的对象 而且由web容器销毁的对象
2.2 创建第一个servlet
1.写一个类 继承 GenericServlet public class MyServlet01 extends GenericServlet{ }2.覆盖方法
@Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("hello MyServlet01" ); } 3.配置servlet [web.xml]MyServlet01 com.qf.servlet.MyServlet01 4.前端测试 MyServlet01 /servelt01
2.3 servlet 的生命周期
- 诞生[懒汉式] 默认情况下 用户第一次访问这个servlet 的时候诞生. 我们也可以通过设置,设置成饿汉式【容器一起动就创建servlet 对象】
MyServlet01 com.qf.servlet.MyServlet01 1 - 形态【单例 多例】 以后不管访问多少次 servlet 都不会创建新的servlet 对象, 也就是说servlet对象在容器中一直是 单例 的状态
- 销毁 随着容器【tomcat 容器】销毁 而销毁
2.4 创建servlet的其他方式
public class MyServlet02 extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doGet(req, resp); System.out.println("针对 MyServlet02 发出了get 请求"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doPost(req, resp); System.outprintln("针对 MyServlet02 发出了post 请求"); } }
- 写一个类 继承HttpServlet,并且重写 doGet 和 doPost 方法
- 配置servlet [web.xml]
MyServlet02 com.qf.servlet.MyServlet02 0 MyServlet02 /servlet02
- 测试
- 补充1:GenericServlet 和 HttpServlet 的关系是什么?
- 补充2:通过地址栏直接发出是get 请求
- 补充3: 我们可以直接使用可视化工具 来 创建HttpServlet
三. servletConfig 对象
3.1 概念
servlet 对象的配置对象
3.2 作用
专门用来读取,servlet 对象的初始化配置
3.3 怎样使用
1.首先给servlet 添加初始化配置2.获得servlet 的 配置对象(servletConfig) // 获得当前servelt 对象的 配置对象(ServletConfig) ServletConfig config = this.getServletConfig(); 3.从配置对象中读取 servlet 的初始化配置 System.out.println(config.getInitParameter("name")); MyServlet02 com.qf.servlet.MyServlet02 0 name servlet02-name



