一、什么是web
1、定义
建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构, 是运行在互联网上的一种分布式系统
2、版本
(1)web1.0
大量使用静态的 HTML 网页来发布信息,只解决了人对信息搜索、聚合的需求,而没有解决人与人之间沟通、互动和参与的需求
(2)web2.0
注重交互性,可读可写,是一个利用Web的平台,由用户主导而生成的内容互联网产品模式
(3)web3.0
提供更个性化、精准化搜索等人工智能服务、数据的自由整合与有效聚合、适合多种终端平台等特点
二、web应用
1、定义
WEB应用是多个Web资源的集合,是供浏览器访问的程序,也称为Web应用程序
2、组成
由多个静态web资源和动态web资源组成,如:HTML、CSS、JS文件,动态Web页面、Java程序、支持jar包、配置文件等
(1)静态web资源
静态HTML页面的集合,页面中浏览的数据始终是不变, Web页面中的内容无法动态更新,无法实现和用户的交互。
(2)动态web资源
web页面中浏览的数据是由服务器程序产生的,动态WEB具有交互性,WEB的页面的内容可以动态更新
三、web应用层序架构
1、软件架构模式----C/S(服务端和客户端)
服务器通常采用高性能的PC、工作站或小型机,客户端需要安装专用的客户端软件
2、软件架构模式----B/S(服务端和浏览器)
客户端只要安装一个浏览器(Browser),通过浏览器与Web服务器进行数据交互
3、Web应用程序则属于B/S结构的软件系统
四、web应用访问处理过程
五、 URL与URI
1、URL(Uniform Resource Locator)— 统一资源定位符
(1)作用:用于完整地描述Internet上网页和其他资源的地址的一种标识方法
(2)组成:协议+服务器地址(端口)+具体资源路径
如果端口号是该协议的标准端口号(80),可以省略端口号
2、URI(Uniform Resource Identifier)统一资源标识符
(1)作用:用来唯一的标识一个资源, URI是抽象的定义
3、二者的关系
URL是URI的子集,通过使用地址定位标识资源的形式
六、http协议
1、定义:
HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议
2、使用时机
当客户端连接上一个服务器后需要向服务器获取资源,此时需要和服务器进行通讯, HTTP协议就是用于定义客户端与web服务器通迅的格式
3、客户端与服务器传输的数据
客户端通过HTTP协议向服务器端发送的数据,我们称之为请求消息,反之则为响应消息
(1)HTTP请求信息由4部分组成
1、请求行:请求方法(GET/POST)、URI、协议/版本
2、请求消息头:(Request Header)
3、空行
4、请求正文
(2)请求方式(请求行中的GET)
POST 、 GET、HEAD、OPTIONS、DELETE、TRACE、PUT
(3)HTTP相应由3部分组成
状态行、响应头、响应正文
4、HTTP协议规定了Web的基本运作过程,浏览器与Web服务器之间的通信细节
5、HTTP协议位于应用层,建立在TCP/IP的协议之上。 HTTP协议采用可靠的TCP连接,默认为80端口
七、web服务器
1、常用web服务器
(1)IIS
Windows产品自带的一种免费的Web服务器,安装配置简单,主要解析的是ASP程序代码。
(2)Apache
免费开源的Web服务器软件,它以跨平台、高效和稳定而闻名,是最流行的Web服务器端软件之一
(3)Tomcat
Apache-Jarkarta开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet 技术的Web应用服务器
(4)Nginx
Nginx 服务器是一个高性能的 Web 和反向代理服务器。
(5)WebSphere,IBM公司的产品
(6)WebLogic ,BEA公司的产品
八、JavaWeb应用
1、定义:JavaWeb应用是用Java技术来解决相关Web互联网应用领域的技术总和
2、javaweb应用相关技术
(1)表示层:JSP页面
(2)控制层:Servlet
(3)业务逻辑层:JavaBean
(4)持久层:JDBC
3、jsp(java服务页面)
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端所请求以后对这些Java代码进行处理
将生成的HTML页面返回给客户端的浏览器。
4、Servlet
Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行
5、jsp和servlet的区别
JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成
九、javaweb应用工程目录结构
十、servlet技术
1、什么是servlet
Servlet是基于Java语言的Web服务器端编程技术,servlet是运行在Servlet容器中的Java类,它能处理Web客户的HTTP请求,并产生HTTP响应。
2、servlet对请求处理和响应过程的步骤
接收HTTP请求
取得请求信息,包括请求头和请求参数数据
调用其他Java类方法,完成具体的业务功能
实现到其他Web组件的跳转(包括重定向或请求转发)
生成HTTP响应(包括HTML或非HTML响应)
3、servlet容器
Servlet运行在服务器端,用于在发送的请求和响应之上提供网络服务、解码基于MIME的请求、格式化基于MIME的响应(主流的Web服务器Tomcat(包含Servlet容器))
4、创建servlet的过程
创建Java Web项目
创建Servlet
实现doPost()或doGet()方法
声明配置Servlet
部署运行Servlet
(1)在WebContent下创建Jsp File(创建index.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="Login" method="post">
账号: <input name="usid"><br>
密码: <input type = "password" name="upwd"><br>
<button>登录</button>
</form>
</body>
</html>
(2)在java Resources-->src下创建Login类
package com.hqyj.ctrl;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*
* 把页面的信息提交到Login类里
* 创建servlet
* 问:如何实现 (继承类,实现接口)
*/
/*
* 方式一:继承HttpServlet类
*/
//1、继承HttpServlet类
public class Login extends HttpServlet{
//创建有参构造器
//2、重写doget方法
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//判断能不能进入类
System.out.println("get");
}
//3、重写dopost方法
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("post");
}
}
(3)在WebContent-->WEB-INF-->web.xmml配置servlet服务器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>web01</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 配置servlet -->
<!-- 1、创建servlet 服务器为其(Login)初始化 -->
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>com.hqyj.ctrl.Login</servlet-class>
</servlet>
<!-- 2、配置请求路径 -->
<servlet-mapping>
<servlet-name>Login</servlet-name>
<!-- /代表当前项目路径 -->
<url-pattern>/Login</url-pattern>
</servlet-mapping>
</web-app>