Java Web技术编程01-Servlet Part1
- 格式:pdf
- 大小:4.44 MB
- 文档页数:85
Servlet
HTTP
HTTP
Servlet
Servlet
Servlet
Java Web技术与编程
!27
Web应用用组件图
28
Servlet容器
● Servlet容器可以分为三种类型:
▪ Standalone-典型的基于Java的Web服务器,如Tomcat, web server和servlet容器整合在一一个程序中.
▪ 打开conf⺫目目录下的server.xml文文件
▪ 修改端口口号
Java Web技术与编程
!37
Tomcat管理程序
● Tomcat提供了一个管理程序:manager,用于部署到 Tomcat 服务器中的 web 应用程序 ● 要访问manager web 应用程序,需要添加具有管理员权 限的账号,编辑conf目录下的 tomcat-users.xml 文件, 添加manager角色,设置用户名和密码
Execute CGI Program
get CGI code
生生成动态内容
20
Web服务器辅助应用用—CGI程序
用用户点击一一个链接, 它的URL指向一一个CGI程序,而而不是一一个静态⻚页面面
Web服务器应用用”看出”这个请求是给一一个辅助程序的, 所以Web服务器 启动并运行行这个程序. Web服务器还将GET或POST请求提供的参数一一 并交给这个辅助程序
● 读取客户程序发送来的隐式数据 (请求报头)
● 生成相应的结果
● 发送显式的数据给客户程序(HTML/XML/JSON)
● 发送隐式的数据给客户程序 (状态代码和响应报头)
Java Web技术与编程
25
Servlet的基本运行行方方式
26
Servlet的基本运行原理
● Servlet容器会在第一次收到HTTP请求时建立一个 Servlet实例,然后启动一个线程。第二次收到HTTP请 求时,Servlet容器无须建立相同的Servlet实例,而是 启动第二个线程来服务用户端请求(如图所示)
● 进入入⻔门槛低:Servlet是以Java为基础的,只要是熟悉 Java的程序员就可以轻易撰写出各式各样的Servlet组 件
● 拥有跨平台执行行能力力:借助Java本身身的跨平台能力力, Servlet得以运行行在任何支支持Java的平台上
24
Servlet的主要功能
● 读取客户程序发送来的显式数据 (表单数据)
17
HTTP 通信协议基本概念
18
为什么要动态地构建Web页面?
● Web页面的内容建立在用户提交的数据之上,比如:搜索 引擎的结果页面、在线商店中反映订单信息的页面 ● Web页面的内容由频繁变动的数据导出,比如:天气预报 或新闻头条页面 ● Web页面用到了来自于数据库或其他服务器端资源的信 息,比如:电子商务网站有可能使用servlet动态地构建 Web页面,列出待售商品的最新价格。
Java Web技术与编程
9
Java Web开发环境介绍
● 在开发过程中,基于Servlet/JSP项⺫目目通常涉及到!
▪ Web服务器 ! ▪ 数据库服务器!
• MySQL/Oracle/DB2/SQL Server/PostgreSQL!
还支支持EJB/JMS等
• Tomcat/Resin/GlassFish/Weblogic/WebSphere/Jetty/JBoss!
▪ 例如,如果多个servlets访问相同的数据库,他们能够共享 connection对象
33
Apache Tomcat Server
● 有许多可用用的servlet容器, 但Tomcat是应用用最为干广广泛的 一一个,而而且它是JSP/Servlet标准的官方方实现
● Tomcat是由Apache软件基金金会下属的Jakarta项⺫目目开发 的一一个Servlet容器,按照Sun公司提供的技术规范,实 现了对Servlet和JSP的支支持,并提供了作为Web服务器 的一一些特有功能,如Tomcat管理和控制平台、安全域 管理和Tomcat阀等。
● Tomcat已经成为Apache的顶级项⺫目目
Java Web技术与编程
!34
Tomcat的目录层次结构
存放启动和关闭Tomcat的脚本文件 存放Tomcat服务器的各种配置文件 存放Tomcat 服务器和所有web应用 程序需要访问的jar文件 存放Tomcat 的日志文件 存放Tomcat 运行时产生的临时文件 当发布web应用程序时,通常把web应用程序的目录及文件放到这个目录下 Tomcat 将JSP生成的Servlet 源文件和字节码文件放到这个目录下
▪ 集成开发环境的选择 !
• NetBeans/Eclipse/MyEclipse/IntelliJ IDEA
Java Web技术与编程
10
Java Web应用的概念
● Java Web应用由一组Servlet、HTML页、类、以及其 它可以被绑定的资源构成。它可以在各种供应商提供 的实现Servlet规范的Servlet容器中运行。Java Web应 用中可以包含如下内容:
软件开发系列课程
Java Web编程
胡春阳 博士士
高高级工工程师
huchunyang@
典型的Java Web架构
Java Web技术与编程
2
软件编程体系
&Servlet
Java Web技术与编程
3
B/S架构编程体系
● B/S结构的编程语言言!
▪ 浏览器端编程语言言!
• HTML(Hypertext Markup Language,超文文本标记语言言)! • CSS(Cascading Style Sheets,层叠样式表单)! • JavaScript语言言!
▪ In-process-web server和servlet容器是不同的程序, servlet 容器作为插件运行行在web server的地址空间内, 典型的例子子 是Tomcat运行行在Apache Web server中,web server处理 静态内容, Tomcat处理Servlet和JSP
Java Web技术与编程
!19
Web服务器辅助应用用—CGI程序
Web Server Host
send a request URL
Web Browser
HTML page returned spawn CGI process
Web Server
Host Machine File System
generate response
Java Web技术与编程
!35
运行Tomcat
● 1. 配置JAVA_HOME环境变量 ● 2. 双击 bin 目录下的 startup.bat 文件 ● 3. 在地址栏中输入 http://localhost:8080/
Java Web技术与编程
36
关闭Tomcat & 配置端口号
● 1.双击 bin 目录下的 shutdown.bat 文件关闭 Tomcat 服务器 ● 2. 修改Tomcat 默认的端口号:
Servlet/JSP engine Java Development Kit (JDK)
Database server
Java Web技术与编程
6
Java Web应用架构
Presentation layer
展示示层
HTML files
JSP files
Business rules layer
业务规则层
Servlets
JavaBeans
Other Java classes
Data access layer
数据访问层
Data access classes
Database
Text files
Binary files
XML files
Java Web技术与编程
7
Java EE 7 架构
8
Java Web技术(展示/Web层)
Java Web技术与编程
13
请求和响应消息
● Web服务器和Web客户端通过HTTP协议(消息)
▪ 请求消息: client ▪ 响应消息: server server
client
● HTTP消息有消息头(header)和消息体(body)组成
▪ HTTP header: 消息和消息上下文文的信息描述
▪ 当Web服务器收到HTTP请求时,将进行行解析与处理,并将处理结 果包装成HTTP回应
▪ 最后,Web服务器会将HTTP回应传送至至用用户。只要用用户接收到 HTTP回应,Web服务器就会关闭这个连接,用用户的执行行状态将不 会被保存
Java Web技术与编程
15
HTTP通信协议
16
HTTP通信协议基本概念(续)
▪ 服务器端编程语言言!
• PHP! • Servlet/JSP! • ASP! • Perl! • Ruby! • Node.js
Java Web技术与编程
4
服务端编程语言言
5
Java Web应用组件
Client
Browser
HTTP request Server Web server
HTTP response
21
Web服务器辅助应用用—CGI程序
辅助应用用构造一一个全新的⻚页面面, 然后将这个HTML返回给服务器, 对Web服务器 来说, 来自自辅助应用用的HTML是一一个静态⻚页面面
辅助应用用关闭, 客户得到一一个HTML⻚页面面
22
什么是servlet?
● Servlet是以Java技术为基础的服务器端应用用程序组件, 在Web开发中用用来构建动态⻚页面面,它是使用用Java技术 构建的Web应用用的组成部分