5 篇文章 最后更新:2025年6月6日
Servlet技术

官方文档:https://tomcat.apache.org/tomcat-8.5-doc/servletapi/

A servlet is a small Java program that runs within a Web server.

Servlets receive and respond to requests from Web clients, usually across HTTP(the HyperText Transfer Protocol)

Servlet是运行在服务器里面的一个程序,可以对客户端的请求做出响应。Servlet主要是用来生成动态web资源的

Servlet基础及应用

Servlet(Server Applet)全称Java Servlet ( Java服务器端程序 )、主要功能在于:交互式地浏览和修改数据,⽣成动态Web内容

  • 狭义的Servlet是指Java语⾔实现的⼀个接⼝
  • ⼴义的Servlet 是指任何实现了这个Servlet接⼝的类(⼀般情况下,⼈们将Servlet理解为后者)

tomcat10版本中,默认Servlet为5.0,官网对应信息:https://tomcat.apache.org/whichversion.html

JavaServer Pages

JSP全名为Java Server Pages,中⽂名叫java服务器⻚⾯,其根本是⼀个简化的Servlet设计

一个JSP页面由元素模板数据组成。元素是必须由JSP容器处理的部分,而模板数据(HTML)是JSP容器不处理的部分

注释:在JSP页面中,可以使用两种类型的注释

  • 一种是HTML注释,这种注释可以在客户端看到
  • 一种是为JSP页面本身所做的注释,通常是给程序员看的,我们称之为JSP注释
html
<!-- HTML注释 -->
html
<%-- JSP注释 --%>

1. JSP运行机制

JSP是一种建立在Servlet规范功能之上的动态网页技术、JSP文件在用户第一次请求时,会被编译成Servlet,然后再由这个Servlet处理用户的请求,所以JSP也可以被看成是运行时的Servlet。(Web容器和JSP容器是同义的)

JSP容器管理JSP页面生命周期的两个阶段:

  • 转换阶段(translation phase):当有一个对JSP页面的客户请求到来时,JSP容器检验JSP页面的语法是否正确,将JSP页面转换为Servlet源文件,然后调用javac工具类编译Servlet源文件生成字节码文件

  • 执行阶段(execution phase):Servlet容器加载转换后的Servlet类,实例化一个对象处理客户端的请求,在请求处理完成后,响应对象被JSP容器接收,容器将HTML格式的响应信息发送到客户端

Note:

  • 当第一次加载JSP页面时,因为要将JSP文件转换为Servlet类,所以响应速度较慢

阅读更多 »
MVC架构及发展史
bash

引言:
现在有挺多人学完Java,可能都没怎么使用过jsp或jsp+Servlet开发过项目,
就直接学习使用Spring、SpringMVC或者Spring Boot等框架进行开发。

但是如果没有经历一个逐步演进的过程,就很难体会到框架带给了我们什么样的好处,而且开发过程中遇到问题也难以理解,
甚至会觉得现在的开发模式繁琐复杂,更别说去学习这些框架中的源码了。

学习是一个循序渐进的过程,不能急于求成,当然我们也不可能把JavaWeb相关的知识都学一遍,但是了解其发展历史对我们理解现在的开发模式还是有一定帮助的,有了这些基础、同时弄清楚某种技术因何而生、解决了什么问题,在宏观上有一个整体认知,对于开发者来说还是有必要的

一 JavaWeb发展历程

1. 静态网页时期

1989 年 3 月 12 日,在瑞士的欧洲核子研究中心 (CERN) 工作的蒂姆·伯纳斯-李 (Timothy John Berners-Lee) 向他的老板递交了一篇题目为“Information Management: A Proposal”的建议书[1]。后来人们把这一天当作万维网 (WWW, World Wide Web) 诞生的日子。

提出这一想法之后,蒂姆·伯纳斯-李爵士就开始着手实现这一想法。

接下来的一两年中,他开发了 HTTP 协议,HTML 标准,第一个浏览器,第一个 web 服务器软件,第一个网页,架设了第一个 web 服务器 http://info.cern.ch。而第一个浏览器的名字就叫做 WorldWideWeb[2]。

阅读更多 »
Tomcat服务器

一 Tomcat快速入门

1. Web服务器

常见的两种开发模型:

  • C/S(Client/Server)客户/服务器模式:客户端 需要安装专⽤的客户端软件
  • B/S(Brower/Server):建立在广域网的基础上

Web服务器是运⾏及发布Web应⽤的容器,只有将开发的Web项⽬放置到该容器中,才能使⽹络中的所 有⽤户通过浏览器进⾏访问

开发Java Web应⽤所采⽤的服务器主要是与JSP/Servlet兼容的Web服务 器,⽐较常⽤的有Tomcat、Resin、JBoss、WebSphere 和 WebLogic 等

Web服务器 简介
Tomcat ⼀个⼩型、轻量级的⽀持JSP和Servlet 技术的Web服务器(最流⾏、开发JSP应⽤的⾸选)
Resin Resin是Caucho公司的产品,是⼀个⾮常流⾏的⽀持Servlet和JSP的服务器、速度⾮常快
JBoss 纯Java的EJB服务器、不包含Servlet和JSP的 Web容器,不过它可以和Tomcat完美结合
WebSphere 是IBM公司的产品,有多个系列,其中WebSphere Application Server 是基于Java 的应⽤环境
WebLogic WebLogic 是BEA公司的产品(现在已经被Oracle收购)、同样有多个系列。
WebLogic ⽀持企业级的、多层次的和完全分布式的Web应⽤,并且服务器的配置简单、界⾯友好

2. 安装Tomcat

Tomcat官网:https://tomcat.apache.org/ 、https://dlcdn.apache.org/tomcat/

包含老版本的Tomcat下载地址:https://archive.apache.org/dist/

开源⼩型web服务器 ,完全免费,主要⽤于中⼩型web项⽬。常用版本:8.5 和 9.0

bash

启动之前首先安装JDK并配置环境变量`JAVA_HOME`
若希望Tomcat服务器可以在任意路径启动, 则需要配置环境变量`CATALINA_HOME` 

bash

# Linux 下解压后,可能需要先赋予权限,如果配置了JAVA_HOME依然不能正常启动,
# 则还需要在 bin目录 的catalina.sh中添加JAVA_HOME (如下;)

sudo vim ./bin/catalina.sh

export JAVA_HOME=/usr/local/bin/jdk/jdk1.8.0_191

3. Tomcat配置

Tomcat的⽬录简介: ( 通过url访问服务器示例: http://localhost:8080 )

阅读更多 »
Nginx服务器

一 Nginx安装和介绍

Nginx官网下载地址:http://nginx.org/en/download.html

Nginx documentation:http://nginx.org/en/docs/


Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSDlike协议下发行。

其特点是占有内存少,并发能力强


1. Nginx的核心功能

Nginx最核心的两个功能:

  1. 高性能的静态web服务器
  2. 反向代理

正向代理:代理服务器是代表用户客户端去访问后端服务器,代理的对象是用户 反向代理:代理服务器是代表后端服务器供客户端去访问,对于用户来说是无感知的,代理的对象是后台服务器


Nginx的优势

  1. 高并发、高性能(一个进程可以处理多个请求)
  2. 扩展性好(模块化设计)
  3. 异步非阻塞的事件驱动模型
  4. 高可靠性(热部署、7*24)

2. Nginx的编译安装

下载Nginx安装包并解压 :

shell

wget -c https://nginx.org/download/nginx-1.20.1.tar.gz

tar -zxvf nginx-1.20.1.tar.gz

安装依赖环境 — 需要前置环境 gcc,PCRE pcre-devel,zlib,OpenSSL

gcc环境 PCRE库,用于解析正则表达式 zlib压缩和解压缩依赖 SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https

阅读更多 »