转自:http://www.journaldev.com/1854/java-web-application-tutorial-for-beginners#web-server-client

Web Server and Client

HTML and HTTP

Understanding URL

Why we need Servlet and JSPs?

First Web Application with Servlet and JSP

Web Container

Web Application Directory Structure

Deployment Descriptor

Web Server and Client

Web服务器是一种可以处理客户端请求(request)并将响应(response)发送回客户端的软件。例如,Apache是​​最广泛使用的Web服务器之一。Web服务器在某些物理机器上运行,并在特定端口上侦听客户端请求。

Web客户端是一种有助于与服务器通信的软件。一些最广泛使用的Web客户端是Firefox,Google Chrome,Safari等。当我们从服务器(通过URL)请求某些东西时,Web客户端将负责创建请求并将其发送到服务器,然后解析服务器响应并显示给用户。

HTML and HTTP

Web服务器和Web客户端是两个独立的软件,所以应该有一些通用的通用语言。HTML是服务器和客户端之间的通用语言,即Hyper Text Markup Language(超文本标记语言)。

Web服务器和客户端都需要一个公共通信协议,超文本传输协议(HTTP,HyperText Transfer Protocol)是服务器和客户端之间的通信协议。HTTP运行在TCP/IP通信协议之上。

1、HTTP请求的一些重要部分是:

  • HTTP Method – 要执行的操作,通常是GET,POST,PUT等
  • URL – 要访问的页面
  • Form Parameters – 类似于函数的参数,例如用于登陆的户名、密码等详细信息

HTTP请求示例:

GET /FirstServletProject/jsps/hello.jsp HTTP/1.1
Host: localhost:8080
Cache-Control: no-cache

2、HTTP响应的一些重要部分是:

  • Status Code – 指示请求是否成功的整数。一些众所周知的状态码:“success”为200,“Not Found”为404,“Access Forbidden”为403
  • Content Type – 文本,HTML,图像,pdf等,也被称为MIME类型
  • Content – 由客户端呈现并向用户显示的实际数据

HTTP响应示例:

200 OK
Date: Wed, 07 Aug 2013 19:55:50 GMT
Server: Apache-Coyote/1.1
Content-Length: 309
Content-Type: text/html;charset=US-ASCII <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Hello</title>
</head>
<body>
<h2>Hi There!</h2>
<br>
<h3>Date=Wed Aug 07 12:57:55 PDT 2013
</h3>
</body>
</html>

MIME Type 或 Content Type:上面HTTP响应的头部,包含“Content-Type”标签。它也被叫做MIME类型,服务器将其发送给客户端,让他们知道它发送的数据种类。它帮助客户端呈现用户数据。一些主要使用的MIME类型是text/html,text/xml,application/xml等。

Understanding URL

URL是Universal Resource Locator(通用资源定位器)的缩写,它用于查找服务器和资源。网络上的每个资源都有自己独一无二的地址。我们通过一个例子来看一下URL的组成。

http://localhost:8080/FirstServletProject/jsps/hello.jsp

http:// - 这是URL的第一部分,提供了在服务器-客户端通信中所使用的通信协议。

localhost -

Why we need Servlet and JSPs?

First Web Application with Servlet and JSP

Web Container

Web Application Directory Structure

Deployment Descriptor

【Java Web】新手教程(转)的更多相关文章

  1. [置顶] Java Web开发教程来袭

    Java Web,是用Java技术来解决相关web互联网领域的技术总和.web包括:web服务器和web客户端两部分.Java在客户端的应用有java applet不过现在使用的很少,Java在服务器 ...

  2. 勤拂拭软件 java web 开发教程(1) - 开发环境搭建

    勤拂拭软件系列教程 之 Java Web开发之旅(1) Java Web开发环境搭建 1 前言 工作过程中,遇到不少朋友想要学习jsp开发,然而第一步都迈不出,连一个基本的环境都没有,试问,如何能够继 ...

  3. java web 开发教程(1) - 开发环境搭建

    勤拂拭软件系列教程 之 Java Web开发之旅(1) Java Web开发环境搭建 1 前言 工作过程中,遇到不少朋友想要学习jsp开发,然而第一步都迈不出,连一个基本的环境都没有,试问,如何能够继 ...

  4. NetBeans工具学习之道:NetBeans IDE Java 高速新手教程

    欢迎使用 NetBeans IDE! 本教程通过指导您创建一个简单的 "Hello World" Java 控制台应用程序,简要介绍 NetBeans IDE 工作流.学习完本教程 ...

  5. vscode 开发 Java web 急速教程

    1.确认在本机已安装 JAVA SDK 2.确认在本机已安装 maven 3.确认在本机已安装 tomcat 下面是我本机相关软件版本: java version "1.8.0_191&qu ...

  6. eclipse Tomcat和 MYSQL JAVA web新手开发示例--登录界面连接数据库

    登录界面login.jsp 1 <%@ page language="java" import="java.util.*" contentType=&qu ...

  7. 阿里云windows 2012服务器部署java web程序教程

    一:环境搭建 1.首先需要购买一个阿里云ECS服务器,购买时可以选择处理器核数以及内存大小(可以购买偏低配置,因为升级      方便) 2.购买后会自动创建一个实例,可以使用该实例中显示的公网地址在 ...

  8. 勤拂拭软件系列教程 - java web开发

    勤拂拭软件工作室持续推出Java Web开发系列教程与案例,供广大朋友分享交流技术经验,帮助喜欢java的朋友们学习进步: 1. 勤拂拭软件 java web 开发教程(1) - 开发环境搭建 勤拂拭 ...

  9. 系列教程 - java web开发

    代码之间工作室持续推出Java Web开发系列教程与案例,供广大朋友分享交流技术经验,帮助喜欢java的朋友们学习进步: java web 开发教程(1) - 开发环境搭建 技术交流QQ群: 商务合作 ...

  10. 【Java学习系列】第4课--Java Web相关

    本文地址 分享提纲: 1.概述 2. Jsp基础 2.1 1.概述 1.1)[来源和先导] 本文主要的java web的教程来源JSP是 菜鸟教程JSP 和 天码营Java Web.     主要的先 ...

随机推荐

  1. noip模拟题题解集

    最近做模拟题看到一些好的题及题解. 升格思想: 核电站问题 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定 ...

  2. (转)fock函数详解

    转自:http://www.cnblogs.com/bastard/archive/2012/08/31/2664896.html linux中fork()函数详解  一.fork入门知识 一个进程, ...

  3. 【转】MySQL常用命令总结

    http://blog.csdn.net/qq_33850438/article/details/52144686 MySQL常用的基本操作,以下都是MySQL 5.0下测试通过首先说明下,记住在每个 ...

  4. JMeter学习-021-JMeter 定时器的应用

    定时器类型 下面我们看下jmeter提供了哪些定时器组件: 固定定时器 高斯随机定时器 Uniform Random Timer Synchronizing Timer Poisson Random ...

  5. Maven使用deploy上传jar包到远程库 以Oracle驱动为例

    一.首先要得到Oracle JDBC Driver 1.通过Oracle官方网站下载相应版本:http://www.oracle.com/technetwork/database/features/j ...

  6. hdu2469(计算几何)

    枚举所有可能的半径,然后将所有满足这个半径的点按角度(与x轴正半轴的夹角)排序. 然后一遍扫描求出在这个半径下选k个点所需的最小面积 . 思路还是比较简单,实现略有些繁琐. 要先将点的坐标转换为角度. ...

  7. HDU3308(LCIS) 线段树好题

    题目链接:传送门 题目大意:给你n个数,m个操作.操作有两种:1.U x y 将数组第x位变为y   2. Q x y 问数组第x位到第y位连续最长子序列的长度.对于每次询问,输出一个答案 题目思路: ...

  8. Android搜索控件的基本使用方法

    在Android中,搜索是一个非常核心的功能,我们可以通过它搜索到任意我们可以获得的信息.这些信息可以是存储在手机中的联系人.文件等信息,也可以是在网络上的资源. Android为了给用户提供良好的搜 ...

  9. YOLO v1论文笔记

    You Only Look Once:Unified, Real-Time Object Detection   论文链接:https://arxiv.org/abs/1506.02640 Homep ...

  10. Powershell&.NET数值取整处理

    如何取一个数的整数值? 使用类型强制转换 Powershell的强制转换有2种方式,一种是直接类型强制转换,另一种是通过-as运算符进行转换 PS F:\> [int] (3 / 2) # 直接 ...