转自: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. 带圈星号用MathType可以编辑出来吗

    对于很多的数学领域的人来说,大家都知道数学符号往往并不是单一的,常常会出现在不同的场景下有不同的符号要求.比如带星号的运算符号,加减乘除等.对于乘号来说,有点乘叉乘和星乘三种,下面本MathType教 ...

  2. boost-tokenizer分词库学习

    boost-tokenizer学习 tokenizer库是一个专门用于分词(token)的字符串处理库;可以使用简单易用的方法把一个字符串分解成若干个单词;tokenizerl类是该库的核心,它以容器 ...

  3. 浅述python中range()函数的用法

    函数用法说明: 用法一:range(m) 输出: [0,1,...,m-1](从0到m-1的一个list,不包括m) 示例: 用法二:range(m,n),m<n 输出:[m,m+1,..,n- ...

  4. [LintCode] 尾部的零

    class Solution { public: // param n : description of n // return: description of return long long tr ...

  5. textarea 换行

    这个是可以多行展示的Texat也就是DW设计模式下的多行 /*华丽的分割线==================================*/ 当你点击单行时你发现此时的标签换成了value=&q ...

  6. AsyncTaskLoader设计原理大揭秘

    简介 在Android异步处理之AsyncTaskLoader简单使用中我简单的介绍了一下AsyncTaskLoader的基本用法和使用场景,对AsyncTaskLoader还不是很熟悉的小伙伴可以先 ...

  7. libprotobuf 编译错误处理

    1. 编译完链接的时候报错undefined reference to well_known_types_js' 出现这个错误的原因是升级gcc导致的,是程序依赖的include文件和实际链接的文件不 ...

  8. 品友推广的投放原理 RTB:Real Time Bidding(实时竞价) DSP:Demand-Side Platform(需求方平台) 广告交易平台:AD Exchange

    总结: 1.实时竞价 0.1秒出价各个广告主出价,投放价高者: RTB(Real Time Bidding)实时竞价,是一种利用第三方技术在数以百万计的网站或移动端针对每一个用户展示行为进行评估以及出 ...

  9. PC京东登录页分析 curl

    w 正确的组合,没有显示新页面的数据. <!doctype html> <html> <head> </head> <?php include(' ...

  10. 一篇搞定vue-router

    由于Vue常见于前后端分离开发场景下,所以页面跳转工作全部交给了前端,所以基于集中管理的原则,就有了vue-router插件,它给定了url和组件之间的跳转规则 Demo准备 vue init web ...