Web应用程序的工作原理

大多数的Web应用程序结构都是采用最为流行的B/S软件开发体系结构,将Web应用程序部署在Web服务器上,只要Web服务器启动,用户就可以通过客户端浏览器发送HTTP请求到Web服务器,此时运行在Web服务器上对应的Web应用程序将处理客户端请求,处理完成后做出响应。

Web应用程序工作原理图如下:

Web应用开发技术

Web应用开发技术又分为客户端开发技术,服务器开发技术。
客户端开发技术:

  1. HTML
  2. CSS
  3. JavaScript

服务器开发技术:

  1. PHP
  2. ASP.NET
  3. Servlet
  4. JSP

两个概念:
静态页面:类似于HTML这种单纯的客户端页面,在每次访问的时候得到的信息都是相同的吗吗,和后台没有任何交互,它是实际存在的,无需经过服务器的编译,直接加载到客户浏览器上显示出来。我们称之为静态页面。

动态页面:相对静态页面,显示的内容可以随着时间、环境或者数据库操作的结果而发生改变的。我们称之为动态页面。

Web 服务器

进行Java Web开发环境的搭建,首先我们需要了解下Web服务器。
WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务,Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求Web服务器可以响应一个静态页面或图片,进行页面跳转或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术。
关于HTTP协议详细信息可以查看网络协议之HTTP

几种常见的Web服务器。

  1. Resin
    Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发。
  2. JBoss
    是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
  3. WebSphere
    WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。
  4. WebLogic
    WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
  5. Tomcat
    Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

安装与配置JDK

Java web开发首先我们需要配置web服务器,这样我们才能通过web服务器部署发布web项目,才可以进行访问,这里选择Tomcat作为web服务器,Tomcat基于运行基于Jre环境,因此我们在配置Tomcat 之前需要配置Java环境。

jdk的下载与安装这里不说,只顺便说一下win下环境变量的配置。

  1. 配置环境变量 :右键我的电脑 → 属性→ 高级系统设置 → 环境变量
  2. 在系统变量里新建JAVA_HOME 变量,值为JDK安装路径
  3. 新建classpath变量,值为:

    .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
  4. 修改PATH变量值,在值后添加:

    %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

配置完毕后运行命令java -version有版本信息打印说明配置成功

1
2
3
4
5
6
7
8
9
Microsoft Windows [版本 10.0.15063]
(c) 2017 Microsoft Corporation。保留所有权利。 C:\Users\Niu>java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode) C:\Users\Niu>

安装与启动Tomcat

Tomcat是免费的开源软件,可在直接在官方网站下载。
http://tomcat.apache.org/
1.可以直接在左侧选择版本:

2.选择版本后可以在下方进行下载,可以选择下载安装版或者解压版,这里选择了解压版
tar.gz文件是Linux操作系统下的安装版本
exe文件是Windows系统下的安装版本
zip文件是Windows系统下的压缩版本

3.下载完成后解压缩,得到Tomcat目录,

4.可以在%Tomcat%\conf\server.xml中修改默认端口号(默认为8080)

1
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

5.配置完毕后可以运行%Tomcat%\bin\startup.sh进行启动

6.浏览器访问http://localhost:8080 进行测试

Eclipse中使用Tomcat

点击菜单:Window → Prefences → Server → Runtime Environments
点击左边Add按钮,选择Apache,选择Tomcat版本,点击NEXT

至此,Java Web集成开发环境配置完成,可以在Eclipse中Server面板中新建Tomcat Server进行启动。

新建Server:

完成创建:

完成创建之后可以在新建的server上右键选择start进行启动,启动效果如同双击startup.bat,console控制台会同步显示启动信息。

web项目开发

在环境搭建完成之后,我们应该使用这个环境进行Web项目的开发。这里使用一个简单的例子,来演示如何使用Eclipse开发并且部署一个Web项目。

创建web项目

首先我们打开Eclipse,点击菜单File -> new -> project 新建项目

选择Web Project项目进行创建

填写项目名称等信息

点击两次Next之后,创建web.xm信息,完成项目创建

查看项目目录结构

为了实验效果,我们在WebContent下创建一个index.html文件,编写Hello web内容进行部署演示。
WebContent 上右键 NEW - >File - >输入文件名index.html完成文件创建。
编写内容:

1
2
3
4
5
6
7
8
9
<!DOCTYPE html>
<html>
<head>
<title>Web test</title>
</head>
<body>
<h3>Hello web</h3>
</body>
</html>

部署web项目

在eclipse中使用Tomcat进行启动项目
在已经创建完毕的Tomcat server上右键添加项目,然后进行启动即可

访问web项目

可以看到项目启动在8080端口,启动完毕,此时可以通过浏览器进行项目访问。

http://localhost:8080/web-Test/index.html

此时,在Eclipse中创建部署启动一个Web项目已经完成。

作者: 雪漫士兵

博客: https://www.codingme.net

 

Web笔记(一) Web 简介与开发环境搭建的更多相关文章

  1. Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通

    原文:Android菜鸟的成长笔记(1)--Android开发环境搭建从入门到精通 今天在博客中看到好多Android的初学者对Android的开发环境的搭建不熟悉而导致不能进行学习,所以我决定自己写 ...

  2. Django之Django简介,开发环境搭建,项目应用创建

    软件及Django框架简介 软件框架 一个软件框架是由其中各个软件模块组成的: 每一个模块都有特定的功能: 模块与模块之间通过相互配合来完成软件的开发. 软件框架是针对某一类软件设计问题而产生的. M ...

  3. Python简介及开发环境搭建

    Python简介 Python是一门动态解释性的强类型定义的计算机程序设计语言,是一种完全面向对象的语言,由荷兰人"龟叔"-Guido van Rossum于1989年开发,于19 ...

  4. 工作流--JBPM简介及开发环境搭建

    一. 工作流简介 项目中不断的接触工作流,点点滴滴积累了一些,下面把一些学习到的东西整理记录下来. 工作流一般的适用场景:公文流转.行政审批.订单处理.产品研发.制造过程等.用专业一点的语言来描述工作 ...

  5. JSP Web第三章整理复习 开发环境搭建

    P86  WEB工作原理 用户使用浏览器通过HTTP协议请求服务器上的Web资源,服务器接收到该请求后,读取请求的URI所标识的资源,加上其他资源发送给客户端的浏览器,浏览器解析响应中的HTML数据, ...

  6. 【系列】Python编程思想(1):Python简介与开发环境搭建

    李宁老师的 开始学习.   本系列文章深入介绍了Python的各种技术,堪称是目前最全的Python教程.主要目的是让读者可以了解Python的各种核心技术,包括各种Python函数库.本教程使用Py ...

  7. 使用wifi网卡笔记1----网卡选型、开发环境搭建、内核配置

    1.wifi的STA模式和AP模式 Ap(Access Point)模式指的是可以将网卡设置为路由器用来共享流量或有线网络给别人使用, sta模式指的是当做网卡连接路由器上网 (1):AP也就是无线接 ...

  8. Android学习笔记(一)——安卓开发环境搭建

    安装教程以及资源(2015.11.8最新版):链接:http://pan.baidu.com/s/1kTnOsMr 密码:0ogf

  9. Scala语言简介和开发环境配置

    Scala语言的简介和开发环境搭建 Scala是一门结合了面向对象特征和函数式编程特征的语言,它是一个创新的编程语言产品.Scala可以做脚本(就像shell脚本一样),可以做服务端编程语言,可以写数 ...

随机推荐

  1. Python request 和response 初使用

    request的get方法r=request.get(url)构造一个向服务器请求资源的Request对象, 返回一个包含服务器资源的Response对象. Request对象由Request库自动生 ...

  2. Django积木块七——视频

    视频 # 在网上搜索video.js然后下载相关的js和css文件,看文档正确使用视频模块,添加视频外链 <div style="width: 1200px;height: 675px ...

  3. FreeRTOS学习目录

    1.关于实时操作系统的一些概念性问题 2.freeRTOS与裸机程序相比有什么区别?? 3.freeRTOSConfig.h文件对FreeRTOS进行系统配置 4.FreeRTOS的内存管理

  4. Maven和Gradle的区别

    转自:http://www.infoq.com/cn/news/2011/04/xxb-maven-6-gradle Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会 ...

  5. CentOS 5 常见的configure error的解决方法

    仅限于CentOS 5 configure: error: No curses/termcap library found 网上有的说法是: --with-named-curses-libs=/usr ...

  6. 使用Kubeadm搭建Kubernetes(1.12.2)集群

    Kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,在2018年将进入GA状态,说明离生产环境中使用的距离越来 ...

  7. IEDA的程序调试debug

    以前只是浅层面的使用dubug来查看程序运行顺序,排查一些异常的原因, 今天由于要学习一些源码,所以系统的记录一下(借鉴网上资料总结而来) 主要涉及到的功能区为如下: A::重启项目 快捷键 Ctrl ...

  8. 弹性盒子模型属性之flex-shrink

    上一次,我们已经了解过flex-grow的具体用法后,这周,让我们一起来见一下flex-basis这个属性. flex-shrink 定义项目的缩小比例,默认值为1,注意前提是空间不足的情况下,项目缩 ...

  9. Player 播放器开源项目总结

    Android开发中,我们不免会遇到播放器相关开发的需求,以下是本人之前star的开源项目,供大家参考: 一.NBPlayer 项目地址:https://github.com/renhui/NBPla ...

  10. Android 图片高级绘图效果---高斯模糊

    高斯模糊就是将指定像素变换为其与周边像素加权平均后的值,权重就是高斯分布函数计算出来的值.高斯模糊能够将图片制作成类似磨砂的图片效果,一般这些图片都用来作为背景. 目前使用到的是RenderScrip ...