Web高级一 Tomcat&Servlet入门

第一章 WEB相关知识概述

1. WEB简介

Web(World Wide Web)即全球广域网,也称为万维网。生活中web:上网,访问网站,下载资源。程序员web:数据库技术,前端技术,web知识,这些知识复合程序员眼中web。

1.1 JavaWeb 概念说明
Javaweb: 用Java技术来解决相关web互联网领域的技术总和(Web前端+Web后台)。
简而言之: 用java技术开发web服务应用(软件)。比如:京东网站,就是用Java开发的。我们可以通过浏览器访问。

2. 软件架构模式

B/S :通过浏览器去访问;Browser/Serve
C/S :通过客户端去访问;Client/Serve
例如 :观看优酷视频
【方式一】通过浏览器搜索并观看
B/S架构看优酷
【方式二】打开优酷客户端搜索并观看
C/S架构看优酷
2.1 B/S架构
浏览器和服务器架构模式(Browser/Server)。通过浏览器和和后台服务器进行交互。

优点

  1. 用户只需要安装一个浏览器即可访问不同的服务器
  2. 系统更新和升级比较方便

缺点

  1. 动画效果受浏览器限制
  2. 网站的压力集中在服务端

2.2 C/S架构
客户端和服务器架构模式(Client/Server)。通过客户端和后台服务器进行交互。

优点

  1. 客户端效果炫酷,用户体验好
  2. 客户端能够进行部分计算,减轻服务器压力

缺点

  1. 需要安装客户端,占用硬盘空间
  2. 系统升级麻烦
  3. 不跨平台

3. WEB资源

  1. 静态资源 :Web页面中提供浏览的始终不变的数据,如 :HTML、CSS、JS、图片、多媒体
  2. 动态资源 :指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同,如:JSP/Servlet、ASP、PHP

4. WEB服务器

网站开发者,需要将开发的web资源,发布到对应的服务器电脑上,客户才可以访问
JCP(Java Community Process) Java技术规范制定与更新的国际组织。
主要维护规范包括:J2ME、J2SE、J2EE,XML等。
J2EE 企业级开发Java规范。

  1. 标准规范包括:servlet、jsp、jdbc、xml、jta、javamail等。
  2. 在java中规范就是接口,J2EE又称为JavaEE。

WEB服务器对JavaEE规范部分或全部支持(实现),也就是WEB服务器实现部分或全部接口。
Javaee规范
常见的WEB服务器

  • Tomcat:Apache组织提供一个免费的小型的服务器软件。支持Servlet和JSP规范。(免费,开源,性能高)
  • WebLogic:Bea公司的一个收费的大型的服务器软件,后被Oracle收购。支持EE的所有的规范
  • WebSphere:IBM公司的一个收费的大型的服务器软件,支持EE的所有的规范。
  • JBoss:是一个基于J2EE的开放源代码的应用服务器。JBoss是一个管理EJB的容器和服务器,JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

5. URL请求路径

URL(Uniform Resource Locator) ,统一资源定位符是对互联网上资源位置的一种表示。
格式
协议://ip:端口号/资源位置 协议,http、https、ftp等 域名,域名或IP地址,能够帮我们定位到互联网上的某一台服务器端口号,端口号是一个应用程序在一台服务器上的编号。http协议的默认端:80 资源位置,用于描述WEB资源在服务器上的位置
参数=值,浏览器和服务器交互传递的数据。
URL请求路径

第二章 tomcat服务器

1. 服务器概述

1.1 服务器硬件
服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。
1.2 服务器软件
服务器软件本质上是一个应用程序(有代码编写而成),运行在服务器设备上。能够接收请求并根据请求给客户端响应数据,发布资源(静态和动态)。
服务器软件

2. tomcat服务器

2.1 简介
tomcat服务器是一个免费的开源的web应用服务器。是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。
2.2 下载
官网地址:https://tomcat.apache.org 选择tomcat8.5版本。
tomcat下载
2.3 tomcat目录
tomcat目录
2.4 tomcat启动和访问
启动
双击tomcat解压目录/bin/startup.bat 文件即可启动tomcat。

访问
tomcat的默认端口为8080,所以在浏览器的地址栏输入:http://ip:8080即可访问tomcat服务器。
tomcat访问
关闭

  1. 关闭startup.bat启动窗口;
  2. 双击tomcat的/bin/shutdown.bat文件;
  3. Ctrl+C;

2.5 tomcat启动失败常见原因
(1) JAVA_HOME 配置
如果没有配置JAVA_HOME环境变量,在双击“startup.bat”文件运行tomcat时,将一闪立即关闭。
解决方式:需要正确配置JAVA_HOME环境变量,指向JDK的bin目录的上一级目录
JAVA_HOME 配置
(2) 端口号冲突
一台拥有ip地址的主机上可以提供多个服务(启动多个软件),每一个服务都有一个唯一的端口号。所以端口号不能重复。

  1. 修改tomcat端口
    通过修改tomcat目录下conf/server.xml配置文件修改端口号。将8080修改成其他端口号。
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  1. 端口号占用
    使用任务管理器---->选择详细信息---->查看pid为11604(查询出来的 值),关闭结束进程即可

3. web项目

tomcat已经安装完成,我们启动tomcat后就能够通过ip地址和端口访问到这台服务器了。但是,我们通过访问http://ip:8080 看到的页面只是tomcat提供的一个页面。真实生活中,百度和淘宝可能使用的服务器都是tomcat,但是我们访问百度和淘宝看到的却是不同的页面,这是因为我们访问的是百度和淘宝各自运行在tomcat中的web项目。
web项目

JavaWeb项目与java项目的区别

  • java项目 : 后台代码
  • JavaWeb项目 : 前端代码 + 后端代码
    idea目录
    web项目结构
    web项目结构

使用tomcat发布JavaWeb项目
方式一 : 直接发布
将web项目复制到tomcat的webapps目录下
tomcat发布项目
方式二 : IDEA配置tomcat直接发布项目
第一步:配置JRE
在Run Configurations中,选择JRE。
第一步
第二步 : 启动项目
第二步
【注】图标1位正常启动,图标2位Debug模式启动
启动成功之后,会自动弹出index.html页面
启动成功

第三章 servlet入门

  1. 客户端(浏览器)发送的数据会被提交到服务器;
  2. 服务器必须具备:1.接收请求数据;2.处理请求数据;3.给浏览器生成响应信息的能力;
  3. tomcat服务器遵从了JavaEE规范,在这个套规范了Sun公司制定的动态资源规范Servlet正好能够实现这个功能;(运行在服务器端,能够接收用户请求,处理请求数据和给浏览器生成响应信息)
  4. 在java的世界里制定规范往往是接口来实现的,所以Servlet是一个接口,里边只是定义了一些方法;
  5. 如果,我们对这个接口进行具体的实现,就能够完成对用户数据的接收,处理和生成响应信息;
    在这里插入图片描述

1. 什么是 Servlet

运行在tomcat上java小程序,sun公司提供的规范 : 接口。
Servlet的作用

  • 接收客户端发送的请求数据
  • 业务逻辑的处理
  • 响应结果 : 将处理结果响应给客户端(浏览器)

2. Servlet生命周期

  1. 谁创建:tomcat创建;
  2. 何时创建:第一次访问这个Servlet的时候,只创建一次,创建完成后会调用init()方法;
  3. 如何工作:每次请求到这个Servlet时,由service方法处理请求和响应信息;
  4. 何时销毁:服务器正常关闭,销毁前会调用destory()方法;

3. Servlet映射路径配置规范

  1. 完全匹配 /user/hello 资源路径为/user/hello时可以访问
  2. 目录匹配 /user/* 资源路径中含有/user目录均可访问
  3. 后缀名匹配 *.do 资源路径中以.do结尾的均可访问
  4. 缺省路径 / 访问的路径找不到,就会去找缺省路径
  5. tomcat获得匹配路径时,优先级顺序:1 >2 > 3 > 4
    开发中一般使用完全匹配,即一个Servlet对应一个映射路径。

第四章 注解开发

1. 为什么要使用注解开发

  1. web.xml中配置过多servlet不便于管理,容易出错
  2. 注解开发使得开发更敏捷,效率更高
  3. 注解开发是一种趋势

2. 使用IDEA创建3.0版本的Servlet

第一步 : 新建一个Servlet
新建Servlet
第二步 : 配置Servlet
创建完成后,Servlet类上面会默认添加一个注解@WebServlet(name=“Servlet3Demo”) 。这个 @WebServlet 注解
就是用来配置当前这个Servlet的。这个注解中常用的有两个属性:

  1. name属性: 相当于web.xml的 ;
  2. urlPatterns属性: 编写访问servlet的路径 类似于
    所以,我们需要手动在 @WebServlet 注解中添加 urlPatterns 属性,来设置映射路径。
    配置

3. 优化

【模板配置代码】

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
@javax.servlet.annotation.WebServlet("/${Entity_Name}")
public class ${Class_Name} extends javax.servlet.http.HttpServlet {
    protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {
        doGet(request,response);
    }

    protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException {

    }
}

猜你喜欢

转载自blog.csdn.net/wenzhengzheng/article/details/82980296