转自: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. iOS #import和@class 区别

    @class和#import相似. 1.@class用于 forward-class declaration,只能使用@class, @class class2 @interface class1 { ...

  2. TaoKeeper

    基于zookeeper的监控管理工具taokeeper,由淘宝团队开源的zk管理中间件: 按照taokeeper官方说明 http://jm-blog.aliapp.com/?p=1450 下载tao ...

  3. php 对字符串的分块处理

    //如何把以下的字符串分成每一个小块, 如:2017.2.14\n我们都是中国人\n小日本 这样的为一个小块 $str = '2017.2.14 我们都是中国人 小日本 2017.2.15 订单取消 ...

  4. Android 热修复 Tinker接入及源代码浅析

    本文已在我的公众号hongyangAndroid首发.转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/54882693本文出自张鸿 ...

  5. 用Java自定义一个定时器

    1.先定义一个监听类: import java.util.Date; import java.util.Timer; import javax.servlet.ServletContextEvent; ...

  6. boost::interprocess::managed_shared_memory(2)(std::string)

    #include <iostream> #include <boost/interprocess/managed_shared_memory.hpp> #include < ...

  7. [hihoCoder] KMP算法

    Each time we find a match, increase the global counter by 1. For KMP, algorithm, you may refer to th ...

  8. 烂笔头-Spring3

    1.spring相关jar包的导入 2.配置文件bean.xml <?xml version="1.0" encoding="UTF-8"?> &l ...

  9. 云计算之路-阿里云上:SLB会话保持的一个坑

    冒着被大家厌烦的风险,今天再发一篇“云计算之路-阿里云上”.这是在前一篇发过之后真实发生的事情,我们觉得定位问题的过程值得分享.而且估计园子里不少朋友被这个问题骚扰过,我们有责任让大家知道问题的真正原 ...

  10. Django开发流程

    1.创建Django工程 django-admin startproject pro1 2.settings.py配置中文和时区,和在pro1根目录下创建一个'static'目录,并在settings ...