精华内容
下载资源
问答
  • docker入门(利用docker部署web应用)

    万次阅读 多人点赞 2019-05-26 10:44:15
    前言:本课程是在慕课网上学习 第一个docker化的java应用 课程时所做的笔记,供本人复习之用 目录 第一章 什么是docker 1.1 docker的发展史 1.2 docker国内应用史 1.3 什么是Docker 第二章 了解docker 2.1 ...

    更新:随手写的一篇博客能收获这么多赞真是挺开心的,不过现在博主很忙,博主本人主要也是从事Java方向对docker暂时没有更深的理解了,写这个目的也是为了自己复习,恕不能对出现问题的同学进行答疑了,当然如果哪里写的有问题还是可以提一下。

    ---------------------------------------------------------------------------------------------------------------------------------------------------------

    前言:本课程是在慕课网上学习 第一个docker化的java应用 课程时所做的笔记,供本人复习之用

    目录

    第一章 什么是docker

    1.1 docker的发展史

    1.2 docker国内应用史

    1.3 什么是Docker

    第二章 了解docker

    2.1 docker思想

    2.1.1 集装箱

    2.1.2 标准化

    2.1.3 隔离

    2.2 docker解决的问题

    2.2.1 系统环境不一致

    2.2.2 系统好卡,哪个哥们又写死循环了

    2.2.3 双11来了,服务器撑不住了

    第三章 走进docker

    3.1 镜像

    3.2 容器

    3.3 仓库

    第四章 centos下docker安装

    第五章 docker初体验

    5.1 docker基本命令

    5.2 docker运行镜像流程

    第六章 docker运行nginx

    6.1 运行nginx镜像

    6.2 docker网络

    6.2.1 网络介绍

    6.2.2 实际访问端口

    第七章 docker部署第一个java web应用

    7.1 制作自己的镜像

    7.2 运行自己的镜像


    第一章 什么是docker

    1.1 docker的发展史

    2010年几个年轻人成立了一个做PAAS平台的公司dotCloud.起初公司发展的不错,不但拿到过一些融资,还获得了美国著名孵化器YCombinator的支持,后来微软谷歌亚马逊这样的大厂商也纷纷加入PAAS平台,竞争十分激烈,dotCloud举步维艰.

    2013年可能是公司发展的不是很好,工程师又不想自己的努力付之东流,于是他们决定将他们的核心技术开源.这项技术就是docker.当时docker的功能就是将linux容器中的应用代码打包,可以轻松的在服务器之间进行迁移.

    无心插柳柳成荫,docker技术风靡全球,于是dotCloud公司改名为docker Inc,并全面投入到docker的开发之中.

    2014.6 Docker发布了第一个版本 Docker1.0

    2014.7 获得C轮融资 $4000W

    2015.4 获得D轮融资 $9500W

    至今已经发布到docker 

    1.2 docker国内应用史

     

     

     

    由此看出,不管开发测试还是运维,绝大多数人都应该会接触到docker.所以学docker还是很有必要的.

     

    1.3 什么是Docker

    docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以放笔,书包可以放书,可以把hello word放在docker中,可以把网站放入docker中,可以把任何想得到的程序放在docker中.

    官方解释:

     

    第二章 了解docker

    2.1 docker思想

    2.1.1 集装箱

    没有集装箱之前运输货物,东西零散容易丢失,有了集装箱之后货物不容易丢失,我们可以把货物想象成程序,目前我们要把程序部署到一台新的机器上,可能会启动不起来,比如少一些配置文件什么的或者少了什么数据,有了docker的集装箱可以保证我们的程序不管运行在哪不会缺东西.

    2.1.2 标准化

    1. 运输方式

    docker运输东西有一个超级码头,任何地方需要货物都由鲸鱼先送到超级码头,然后再由鲸鱼从超级码头把货物送到目的地去.对应的技术来说,比如我们要把台式机的应用部署到笔记本上,我们可能选择用QQ发过去或者用U盘拷过去,docker就标准化了这个过程,我们只需在台式机上执行一个docker命令,把鲸鱼派过来,把程序送到超级码头去,再在笔记本上执行一个docker命令,然后由鲸鱼把程序从超级码头送到笔记本上去.

    2. 存储方式

    当我们把程序存储到笔记本上时,我们需要一个目录,且我们要记住这个目录,因为下次我们可能还要修改,有了docker之后我们就不用记住了程序在哪里了,我们使用的时候只需要一条命令就行了.

    3. API接口

    docker提供了一系列rest api的接口,包含了对docker也就是对我们的应用的一个启动停止查看删除等等,如当我们要启动tomcat时我们要执行startup命令,当我们要停止时要执行shutdown命令,如果不是tomcat,我们可能还需要一些别的命令.有了docker我们记docker的命令就可以对其进行操作.

    2.1.3 隔离

    我们在使用虚拟机时有自己的cpu,硬盘,内存,完全感觉不到外面主机的存在,docker也差不多,不过它更轻量,我们创建虚拟机可能要几分钟,但是docker只需要一秒.最底层的技术时linux一种内核的限制机制,叫做LXC,LXC是一种轻量级的容器虚拟化技术.最大效率的隔离了进程和资源.通过cgroup,namespace等限制,隔离进程组所使用的物理资源,比如CPU,MEMORY等等,这个机制在7,8年前已经加入到linux内核了,直到2013年docker出世的时候才火起来,大家可能奇怪为什么这么好的技术埋没这么多年都没人发现呢?英雄造时势,时势造英雄,如果没有云计算,敏捷开发,高频度的弹性伸缩需求,没有IT行业这么多年长足的发展,也就没有docker.

    2.2 docker解决的问题

    2.2.1 系统环境不一致

    开发:我本地没问题.运维:服务器没问题. 这个问题就变成了皮球.

    如果一个应用要正常的启动起来需要什么?比如java web应用.

    需要一个操作系统,操作系统之上要jdk,tomcat,我们的代码,配置文件.

    操作系统的改变可能会导致我们的应用开不起来,比如我们调用了某些系统命令.

    jdk版本也可能导致程序的运行失败.比如class文件需要1.7编译,我们装了个1.6的jdk.

    tomcat版本也能导致失败,比如旧的版本一些配置在新版本中不再支持.

    代码的话就比如应用了C盘,D盘的一个文件,或者是用了系统的一些环境编码.

    配置的话我们可能少了某个配置文件等等.

    下面docker来了,它把操作系统,jdk,tomcat,代码,配置全部放到集装箱里.再打包放到鲸鱼上,由鲸鱼给我们送到服务器上,在我的机器上怎么运行,在别的机器上也怎么运行.不会有任何的问题.一句话就是docker解决了运行环境不一致所带来的问题.

    2.2.2 系统好卡,哪个哥们又写死循环了

    如果有根别人共用服务器的同学可能有这样的体会,莫名其妙发现自己的程序挂了,一查原因要不是内存不够了,要不是硬盘满了,还有就是发现某个服务变慢了,甚至敲终端都比较卡,但是linux本身就是一个多用户的操作系统本身就可以供多个用户使用,docker的隔离性可以解决这个问题,就算别人的程序还是死循环疯狂吃CPU,还是封装疯狂打日志把硬盘占满,还是内存泄漏,把内存占满,都不会导致我们的程序运行错误.因为docker在启动的时候就限定好了,它最大使用的CPU硬盘,如果超过了,就会杀掉对应进程.

    2.2.3 双11来了,服务器撑不住了

    大部分系统业务量并不是每天都比较平均的,特别是一些电商系统,每天总有那么几天业务量是平时的几倍甚至几十倍,如果按双11的规模去准备服务器那么对于平时的规模来说又是极大的浪费,所以就在节日前临时扩展机器,过完节再把多余的节点下线,这就给运维带来了非常大的工作量,一到过节就在各个机器上部署各种各样的服务,我们启动程序需要java,tocmat等等,并且还可能起不来还要调试,这是非常恶心的工作,有了docker一切都变得美好了,只要点一下服务器就可以从10台变成100台甚至1000,1W台.都是分分钟的事情.

    为什么会这么快呢?都是用标准的方式把我们的程序运过来,下载过来,再用标准的方式把它运行起来,就可以做到只要在每台机器上都执行一两条命令,就可以让程序正常跑起来,并且不用担心有问题.


    第三章 走进docker

    镜像就是上面说的集装箱,仓库就是超级码头,容器就是我们运行程序的地方.docker运行程序的过程就是去仓库把镜像拉到本地,然后用一条命令把镜像运行起来变成容器.

    build:构建,就是构建镜像.

    ship:运输,运输镜像,从仓库和主机运输.

    run:运行的镜像就是一个容器.

    build,ship,run和镜像,仓库,容器是一一对应的.

    3.1 镜像

    镜像的英文名交image.前面我们讲到了集装箱,鲸鱼拖着的所有集装箱就是一个镜像.

    从本质上来说镜像就是一系列文件,可以包括我们应用程序的文件,也可以包括我们应用的运行环境的文件,既然是文件,那么是以什么样的格式在本地保存的呢?

    说到存储格式,就要提到linux的一个存储技术,叫做联合文件系统,是一种分层的文件系统,可以将不同的目录挂到同一个虚拟文件系统下.

    比如test1下有三个文件夹,test2下有两个文件夹,还有一个readme文件.联合文件系统就是可以在一个文件夹(test)中看到多个文件夹(test1,test2)中的内容.

    通过这种方式可以实现文件的分层,test1可以把它看作第一层,test2可以把它看作第二层,每一层有每一层自己的文件,docker就是利用了这种分层的概念实现了镜像存储.

    下图就是镜像的存储格式,这张图是分层的,最下面一层,上面也是一层层的好像集装箱罗列在一起.这就是镜像最直观的存储方式.下面是操作系统的引导,上面是linux操作系统,再上面是一些相关的软件,如果是我们自己的程序,就可以是tomcat,jdk,再往上是应用代码,每一层是我们自己都可以控制得,最上面一层先忽略不看,因为这是和容器有关的.注意一点,docker镜像系统的每一层都是只读的,然后把每一层加载完成之后这些文件都会被看成是同一个目录,相当于只有一个文件系统.docker的这种文件系统被称之为镜像.

    图1

     

    3.2 容器

    为了便于理解,大家可以把容器想象成虚拟机,每个虚拟机都有自己的文件系统,可以把图1整个一部分看成是文件系统,与虚拟机系统的区别是这里面的文件系统是一层一层的,并且最下面的n层都是只读的,只有上面一层是可写的.为什么要有可写的这层呢?大家的程序运行起来,势必会要写一些日志,写一些文件,或者对系统的某一些文件做一些修改,所以容器在最上面一层创建了可读可写的文件系统.

    在程序的运行过程中,如果要写镜像文件时,因为镜像的每一层都是只读的,它会把文件的每一层拷到文件的最上层,然后再对它进行修改,修改之后,当我们的应用读一个文件时会从顶层进行查找,如果没有才会找下一层.

    由于容器的最上一层是可以修改的,镜像是不能修改的,这样就能保证镜像可以生成多个容器独立运行,没有任何干扰.

    3.3 仓库

    我们的镜像是要在其它机器上运行,如何进行传输呢?

    这就用到了docker仓库,我们要先把我们的镜像传到docker仓库中,再由目的地把docker仓库拉过去,这就完成了这样的一次传输过程.

    谁提供了这样的仓库呢?docker自己提供了,hub.docker.com,但是非常慢,为了解决这个问题,国内很多公司也在做自己的仓库.比较知名的是由网易蜂巢提供的 https://c.163yun.com/hub#/m/home/

     

    第四章 centos下docker安装

    因为我这里使用的是centos所以就在centos下安装.

    参考博客与网站:

    https://www.jb51.net/article/161580.htm

    https://blog.csdn.net/jsnhux/article/details/89847109

    https://docs.docker.com/install/linux/docker-ce/centos/

     

     

    1. Docker 要求 CentOS 系统的内核版本高于 3.10,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

    通过 uname -r 命令查看你当前的内核版本

    2.  如果安装过请先卸载

    yum remove docker \
               docker-client \
               docker-client-latest \
               docker-common \
               docker-latest \
               docker-latest-logrotate \
               docker-logrotate \
               docker-engine

    3.安装依赖设置yum仓库

    安装依赖:

    yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2

    设置仓库:

    yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    

    4. 安装docker

    yum install docker-ce docker-ce-cli containerd.io

    5. 启动并加入开机启动

    systemctl start docker
    systemctl enable docker

    6.验证是否安装成功

    docker version
    docker run hello-world

    显示如下即安装成功! 

    [root@iZ2ze68ge5c1uwlkmnb9ixZ zcapp]# docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    1b930d010525: Pull complete 
    Digest: sha256:0e11c388b664df8a27a901dce21eb89f11d8292f7fca1b3e3c4321bf7897bffe
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://hub.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/get-started/
    


    第五章 docker初体验

    5.1 docker基本命令

    1.docker pull [options] NAME[:TAG]

    通过此命令可以docker远程仓库拉取镜像到本地.

    name是拉取镜像的名称,:TAG表示是可选的,如果不选表明时latest,如果选择表明是指定版本的.

    options是拉去的一些参数.

    当不加请求地址的时候回去docker的官网拉取镜像.

    2.docker images [options] [REPOSITORY[:TAG]]

    options是选项,后面是指定镜像的名称.这个用的不多,可能当本地镜像非常多的时候要指定查看某一个镜像.

    IMAGE ID 其实是一个64位的字符串,它可以唯一标识我们的镜像,这里只显示了16位,后面的被截掉了.

    3. docker run [options] IMAGE[:TAG] [COMMAND] [ARG..]

    IMAGE是镜像的名字

    COMMAND是运行起来的时候要执行什么命令.

    ARG表示这条命令运行需要的参数.

    5.2 docker运行镜像流程

    docker pull:首先docker pull向docker daemon发送了一条命令pull,告诉docker daemon要拉取某一个镜像,docker daemon会在本机检查镜像是否存在,如果存在且版本就是我们想要拉取的版本,它就不会做任何的操作.如果不存在下一步它会到docker的仓库中找我们要拉取的镜像名字,如果找到了就会有docker仓库传送到我们的本地,把我们要的镜像传送到我们的本地来.

    docker run:首先把命令发送到我们的docker daemon,docker daemon会先检查镜像在本机是否存在,如果不存在相当于执行了一个docker pull的过程,下载回来之后会以一定方式把镜像运行起来变成docker容器.


    第六章 docker运行nginx

    6.1 运行nginx镜像

    我们打开网易蜂巢镜像中心 https://c.163yun.com/hub#/m/home/

    搜索nginx,可以看到有两个nginx,他们的名字和头上和图标都不一样,一个是鲸鱼,一个是两个球.

    带有鲸鱼的镜像表示这个镜像是从官网的镜像中心复制过来的.这个镜像与docker的镜像是一摸一样的.我们使用此镜像.

    点进去,会有下载地址,复制里面的地址,然后拉取镜像.

    复制到系统中运行.

    运行完后可以查看镜像状态

    在前台运行容器命令如下,输入后容器就会运行,按ctrl+c可以终止容器的运行.

    docker run hub.c.163.com/library/nginx

    在后台运行容器:

    docker run -d hub.c.163.com/library/nginx

    查看运行的容器:

    docker ps

    更多关于运行的命令:

    docker run --help

    因为我们在平时运行的时候需要调试容器内部的设置、查看一下日志等等.我们可以通过如下命令进入容器内部:

    命令的大体内容:

    命令具体内容: 

    docker exec -it 02963d2002b bash

     -i保证我们的输入有效,即使在没有detach的情况下也能运行.

    -t表示将分配给我们一个伪终端.我们将在伪终端输入我们的内容.

    后面跟着的是容器的id,即我们上面用ps查询出来的id,这个id可以少写几位,它会自动识别.

    可输入如下命令了解更多:

    docker exec --help

    输入命令后发现我们前面的标识也变了,相当于进入了一个新的电脑.

    可以查询一下nginx在什么位置

    which nginx

    打开ps查看一下当前运行的进程.我这里提示没有ps命令.我从网上查了一下发现是因为当前系统没有安装这个命令,然后我安装了一下.从命令可以看出,这个nginx容器附带的系统应该是ubuntu不是centos.

    安装ps命令:

    apt-get update
    
    apt-get install procps
    

    利用ps命令查看进程,可以发现nginx已经在运行了.

    ps -ef

    输入 exit即可退出返回原来的系统. 

    6.2 docker网络

    6.2.1 网络介绍

    上面我们只运行了nginx,并没有用浏览器进行访问,这里我们尝试用浏览器访问,但是之前我们要了解一下docker网络.

    我们直到docker的隔离性,网络也是个隔离性的一部分,linux使用了命名空间来进行资源的隔离,比如pid namespace就是用来隔离进程的,mount namespace是用来隔离文件系统的,network namespace 是用来隔离网络的.每一个network namespace都提供了一个独立的网络环境,包括网卡路由iptable规则等等,都是与以其它的network space隔离的.

    1. docker容器在默认情况下,一般会分配一个独立的network-namespace,也就是网络类型中的Bridge模式.

    在使用Bridge时就涉及到了一个问题,既然它有独立的namesapce,这就需要一种技术使容器内的端口可以在主机上访问到,这种技术就是端口映射,docker可以指定你想把容器内的某一个端口可以在容器所在主机上的某一个端口它俩之间做一个映射,当你在访问主机上的端口时,其实就是访问容器里面的端口.

    2. 还有一种类型是Host模式,如果在启动容器的时候指定使用Host模式,那么这个容器将不会获得一个独立的network namespace,而是和主机共同使用一个,这个时候容器将不会虚拟出自己的网卡,配置出自己的ip.而是使用宿主机上的ip和端口.也就是说在docker上使用网络和在主机上使用网络是一样的.

    3. 还有一种网络类型是None.也就是没有网络,这种情况docker将不会和外界的任何东西进行通讯.

    6.2.2 实际访问端口

    刚才我们在运行nginx镜像的时候并没有指定端口映射,所以我们这里停掉nginx容器.

    docker stop containerId

    1. -p(小写)是开放一个容器的端口到主机上

    在后台运行,开放主机8080端口映射到容器的80端口上.

    docker run -d -p 8080:80 hub.c.163.com/library/nginx

    查看主机8080端口是否开启

    netstat -na |grep 8080

     

    是开启的那么访问 主机ip:8080 即可访问到nginx.

     

    2. -P(大写)是开放容器所有的端口到主机上一个随机的端口.

    停掉刚才的docker服务.

    使用大P

    docker run -d -P hub.c.163.com/library/nginx

    可以看到随机给我的端口是32768 

    然后用 ip:32768去访问即可访问到nginx. 


    第七章 docker部署第一个java web应用

    我们还需要学习Dockerfile,它告诉docker我们怎样制作我们的镜像,我们镜像的每一步操作分别是什么,写好Dockerfile后我们使用docker build命令执行Dockerfile里面的每一件事情.最终会把Dockerfile构建出来.

    在这里因为是做一个演示,所以我们使用了一个开源的java web应用Jpress.

    7.1 制作自己的镜像

    1. 从网易的镜像中心找一个tomcat的镜像

    docker pull hub.c.163.com/library/tomcat:latest

    因为tomat镜像肯定有jdk,所以我们就不用单独再装jdk了.

     

    2.编写dockerfile

    我们需要建立一个dockerfile告诉docker需要做什么,这里我建立了Dockerfile,并将我们的web文件放到了和它同一个目录下.

    首先我们的镜像是要运行在tomcat中的,所以填写 from tomcat,以tomcat为基础.maintainer是所有者的意思.因为war包是要放在webapps中的,所以我们使用copy命令复制到tomcat的webapps.

    为什么webapps在local中?我们可以去下载镜像的网站查询,向下拉就好了.具体网址 : https://c.163yun.com/hub#/m/repository/?repoId=2955

    这里说一个个人猜想,每个容器都包含一个自己的系统,所以这里的/usr/local/tomcat/webapps指的是tomcat容器中的位置,那么哪里指定是tomcat容器呢?就是在一开始的from指定的.

    from hub.c.163.com/library/tomcat
    
    maintainer zhangchen 61037@qq.com
    
    COPY jpress.war /usr/local/tomcat/webapps

    3.构建容器

    注意这里是有个点的,点标明是在根据当前目录构建

    docker build .

    可以使用docker images查看镜像是否build成功

    发现一个none,表明构建成功了.

    可以重新构建给它起个名字 -t是给镜像指定一个tag

    docker build -t jpress:latest .
    

    更多的参数查询:

    docker build --help

     

    7.2 运行自己的镜像

    运行我们制作的镜像并指定端口

    docker run -d -p  8080:8080 jpress

    访问我们的网站,发现网站已经可以正常访问了.

    然后发现它要求我们安装自己的数据库,所以我们利用docker安装mysql.

    在镜像中心搜索并拉取mysql

     docker pull hub.c.163.com/library/mysql:latest

    在镜像中心查看配置,并配置root用户密码

    docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 hub.c.163.com/library/mysql

     发现我们没有创建数据库,于是停止这个容器的运行,并在与剧中创建jpress数据库.

    docker stop 4be94fb2df1d3a28c1
    ocker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql

    这样我们的数据库就建立成功了.

    进入网站后要输入网站信息,输入数据库地址时,注意不要输入localhost,因为我们jpress是运行在容器内的,我们会访问tomcat容器内的3306,我们应该用ifconfig查询我们本机的ip地址.我这里的内网ip是172.17.10.68

     

    以上都做完后,我们的网站就可以跑起来了.

    http://59.110.164.62:8080/jpress/

     

     

     

     

     

     

     

     

     

    展开全文
  • Web应用程序  (1)什么是Web应用程序  应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览 器端/服务器端应用程序,这类应用程序一般借助浏览器来运行。 ...

             一Web应用程序

            (1)什么是Web应用程序

            应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览

    器端/服务器端应用程序,这类应用程序一般借助浏览器来运行。

            Web应用程序一般是B/S模式。Web应用程序首先是应用程序,和用标准的程序语言,如Java、PHP等编写出来

    的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法

    运行的。换句话说,它是典型的浏览器/服务器架构的产物。

            一个Web应用程序是由完成特定任务的各种Web组件(web components)构成的并通过Web将服务展示给外界。

    在实际应用中,Web应用程序是由多个Servlet、JSP页面、HTML文件以及图像文件等组成。所有这些组件相互协调

    为用户提供一组完整的服务。

            Web应用程序是一种可以能通过Web访问的应用程序。Web应用程序的一个最大好处是用户很容易访问应用程

    序。用户只需要有浏览器即可,不需要再安装其他软件。

            Web应用程序,首先,web是互联网的总称。包括HTML,CSS,HTTP协议等。也就是说只要是基于网络技术

    运行的网站或软件(实际上也是网站,比如在线的画图板)就叫Web应用程序。

            (2)我们生活中最常见的Web应用程序有哪些呢?

            电商网站:淘宝、天猫、当当等;

            门户站点:搜狐、新浪、腾讯等。


            二Web应用程序架构优点

            浏览器/服务器架构(Browser/Server,简称B/S)能够很好地应用在广域网上,成为越来越多的企业的选择。浏览器/

    服务器架构相对于其他几种应用程序体系结构,有如下3方面的优点:

           1)这种架构采用Internet上标准的通信协议(通常是TCP/IP协议)作为客户机同服务器通信的协议。这样可以使位于

    Internet任意位置的人都能够正常访问服务器。对于服务器来说,通过相应的Web服务和数据库服务可以对数据进行处

    理。对外采用标准的通信协议,以便共享数据。

           2)在服务器上对数据进行处理,就处理的结果生成网页,以方便客户端直接下载。

           3)在客户机上对数据的处理被进一步简化,将浏览器作为客户端的应用程序,以实现对数据的显示。不再需要为

    客户端单独编写和安装其他类型的应用程序。这样,在客户端只需要安装一套内置浏览器的操作系统,如Window 7或

    Windows 8或直接安装一套浏览器,就可以实现服务器上数据的访问。而浏览器是计算机的标准设备。

           三为什么要学习Web应用程序

           (1)软件三大领域

            我们说Web应用程序开发,是目前软件开发领域的三大方向之一。

           软件开发三大领域包括:

           桌面应用程序:QQ,Office等(使用的是C/S架构);

           Web应用程序:京东,天猫等(使用的是B/S架构);

           嵌入式应用程序:IOS,Android等。


           (2)Web应用程序属于JavaEE方向

           JavaEE方向需求一直很大的,也是就业比较容易个稳定的,在一线城市有两年以上JavaEE开发经验的工程师起

    薪就有10-15K。

           Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。

    Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三

    方框架等等。Java技术对Web领域的发展注入了强大的动力。

           四Web应用程序开发的相关知识

           (1)Web开发的相关知识

      Web,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。

      Internet上供外界访问的Web资源分为:

           静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。

           动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不同。

      静态web资源开发技术:HTML、CSS等。

      常用动态web资源开发技术:JSP/Servlet、ASP.NET、PHP等。

      在Java中,动态web资源开发技术统称为Javaweb。

           (2)Web应用程序

      Web应用程序指供浏览器访问的程序,通常也简称为Web应用。例如有a.html 、b.html…..多个Web资源,这多个

    Web资源用于对外提供服务,此时应把这多个web资源放在一个目录中,以组成一个Web应用(或Web应用程序)

      一个Web应用由多个静态Web资源和动态Web资源组成,如:html、css、js文件,Jsp文件、java程序、支持jar

    包、配置文件等等。

      Web应用开发好后,若想供外界访问,需要把Web应用所在目录交给Web服务器管理,这个过程称之为虚似目录

    的映射

           (3)Web发展史

      Web发展的两个阶段:静态、动态。

           (4)静态Web

       *htm、*html,这些是网页的后缀,如果现在在一个服务器上直接读取这些内容,那么意味着是把这些网页的内

    容通过网络服务器展现给用户。整个静态Web操作的过程图如下:


      在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议

    发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给Web服务器,之后Web服务器根据

    用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过Web服务器返回给客户端,客户端接收到

    内容之后经过浏览器渲染解析,得到显示的效果。

      静态Web中存在以下几个缺点:

      1)Web页面中的内容无法动态更新,所有的用户每时每刻看见的内容和最终效果都是一样的。

      为了可以让静态的Web的显示更加好看,可以加入了JavaScript以完成一些页面上的显示特效,但是这些特效都

    是在客户端上借助于浏览器展现给用户的,所以在服务器上本身并没有任何的变化。

      实现静态Web客户端动态效果的手段:JavaScript和VBScrip。在实际的开发中JavaScript使用得最多。

      2)静态Web无法连接数据库,无法实现和用户的交互。

      使用数据库保存数据是现在大多数系统的选择,因为数据库中可以方便地管理数据,增删改查操作可以使用标准

    的SQL语句完成。

           (5)动态Web

      所谓的动态不是指页面会动,主要的特性的是:“Web的页面展示效果因时因人而变”,而且动态Web具有交互

    性,Web的页面的内容可以动态更新。整个动态Web操作的过程图如下:


      动态Web中,程序依然使用客户端和服务端,客户端依然使用浏览器(IE、FireFox等),通过网络(Network)连接到

    服务器上,使用HTTP协议发起请求(Request),现在的所有请求都先经过一个Web Server Plugin(服务器插件)来

    处理,此插件用于区分是请求的是静态资源(*.htm或者是*.htm)还是动态资源。

      如果Web Server Plugin发现客户端请求的是静态资源(*.htm或者是*.htm),则将请求直接转交给Web服务器,之

    后Web服务器从文件系统中取出内容,发送回客户端浏览器进行解析执行。

      如果Wev Server Plugin发现客户端请求的是动态资源(*.jsp、*.asp/*.aspx、*.php),则先将请求转交给Web 

    Container(Web容器),在Web Container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内

    容,拼凑页面的展示内容后,把所有的展示内容交给Web服务器,之后通过Web服务器将内容发送回客户端浏览器进

    行解析执行。

           (6)动态Web应用的实现手段

      动态Web现在的实现手段非常多,较为常见的有以下几种:

           Microsoft ASP、ASP.NET

           PHP

           JAVA Servlet/JSP

           1)Microsoft ASP、ASP.NET

      微软公司动态Web开发是比较早的,而且最早在国内最流行的是ASP。ASP就是在HTML语言之中增加了VB脚

    本,但是标准的开发应用应该是使用ASP+COM,但是实际情况来看,在开发ASP的时候基本上都在一个页面中写上

    成百上千的代码,页面代码极其混乱。

      ASP本身有开发平台的限制:Windows+IIS+SQL Server/Access,ASP只能运行在Windows操作系统上,ASP现

    在基本上已经淘汰,现在基本上都是使用ASP.NET进行开发,ASP.NET在性能有了很大的改善,而且开发迅速,但

    是依然受限于平台。ASP.NET中主要是使用C#语言。

           2)PHP

      PHP开发速度很快,功能强大,跨平台(平台指的就是运行的操作系统),而且代码也简单。

           3)Servlet/JSP

      这是SUN公司(SUN现在已经被Oracle公司收购)主推的B/S架构的实现语言,是基于Java语言发展起来的,因为

    Java语言足够简单,而且很干净。

      Servlet/JSP技术的性能也是非常高的,不受平台的限制,各个平台基本上都可以使用。而且在运行中是使用多线

    程的处理方式,所以性能非常高。

      SUN公司最早推出的Web技术推出的是Servlet程序,Servlet程序本身使用的时候有一些问题,所有的程序是采用

    Java代码+HTML的方式编写的,即,要使用JAVA输出语句,一行一行地输出所有的HTML代码,之后,SUN公司受

    到了ASP的启发,发展出了JSP(Java Server Page),JSP某些代码的编写效果与ASP是非常相似的。这样可以很方便

    地使一些ASP程序员转向JSP的学习,加大市场的竞争力度。

           常见动态网站开发技术对比:

           JSP:Java平台,安全性高,适合开发大型的,企业级的Web应用程序。基于Java架构的分布式的框架hadoop。

    适合做电子银行,网上证券交易所,三大运营商的网上营业厅,12306等。

           ASP.NET:.NET平台,简单易学,但是安全性以及跨平台性差。

           PHP:简单,高效,成本低开发周期短,特别适合中小型企业的Web应用程序开发。开发黄金组合LAMP:

    Linux+Apache+MySQL+PHP。

           五Web服务器

            (1)WEB服务器简介

      1)Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序。当Web

    浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏

    览器如何查看该文件(即文件类型)。


      2)服务器是一种被动程序:只有当Internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应。


           (2)常见的Web服务器介绍

      1)WebLogic

      WebLogic是美国bea公司出品的一个application server。BEA WebLogic是用于开发、集成、部署和管理大型分

    布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和JavaEE标准的安全性引入大型网络

    应用的开发、集成、部署和管理之中。是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应

    新的开发要求,启动界面如图:


      2)WebSphere

      WebSphere Application Server 是一种功能完善、开放的Web应用程序服务器,是IBM公司电子商务计划的核心

    部分,它是基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程序。这一整套产品进行了

    扩展,以适应 Web应用程序服务器的需要,范围从简单到高级直到企业级。启动界面如图:


      3)Tomcat

      Tomcat是一个实现了JavaEE标准的最小的WEB服务器,是Apache软件基金会的Jakarta项目中的一个核心项

    目,由Apache、Sun和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且开源免费,因而

    深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。学习Java Web开发

    般都使用Tomcat服务器,该服务器支持全部JSP以及Servlet规范,启动界面如图:


       4)IIS

       Microsoft的Web服务器产品为Internet Information Services(IIS),IIS 是允许在公共Intranet或Internet上发布

    信息的Web服务器。ⅡS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在ⅡS的平 台上。IIS提供了

    一个图形界面的管理工具,称为Internet信息服务管理器,可用于监视配置和控制Internet服务。

       IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏

    览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的

    事。它提供ISAPI(Intranet Server API)作为扩展Web服务器功能的编程接口;同时,它还提供一个Internet数据库连

    接器,可以实现对数据库的查询和更新。

     


    展开全文
  • 一、Web应用服务器   Web服务器是运行及发布Web应用的大容器,只有将开发的Web项目放到该容器中,才能使网络中的所有用户通过浏览器进行访问。常用的有BEA WebLogic服务器、IBM WebSphere应用服务器、Tomcat...

    目录

    一、Web应用服务器
    Tomcat 服务器介绍
    二、Tomcat服务器的下载安装
    1. Tomcat服务器的下载
    2. Tomcat的安装
    三、Tomcat的目录结构与使用
    1. Tomcat的目录结构:
      2. Tomcat的使用
    (1)修改Tomcat的默认端口
    (2)部署Web应用以及实现方法
    (3)进入Tomcat管理界面

    一、Web应用服务器

      Web服务器是运行及发布Web应用的大容器,只有将开发的Web项目放到该容器中,才能使网络中的所有用户通过浏览器进行访问。常用的有BEA WebLogic服务器、IBM WebSphere应用服务器、Tomcat服务器。

      Tomcat 服务器介绍

      Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
      当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Nginx等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。

    二、Tomcat服务器的下载安装

    1. Tomcat服务器的下载

    (1)Tomcat的官方下载地址:
    • Apache Tomcat英文官网:http://tomcat.apache.org/
    • Apache Tomcat9.0官网下载地址:https://tomcat.apache.org/download-90.cgi
    (2)进入Apache Tomcat英文官网,在【Download】目录下选择Tomcat的版本,点击进入。本文以Tomcat9为例,点击进入【Tomcat9】

    选择版本

    (3)在【核心】目录中选择【zip】【压缩包版】(需要配置环境变量)或者【32-bit/64-bit Windows Service Installer】【安装包版】,点击下载。本文以Winows64位系统为例,选择压缩包版,点击【64-bit Windows zip】

    选择Tomcat安装包类型

    (5)下载完成

    下载完成

    2. Tomcat的安装

      将下载好的压缩包解压到安装目录下即可

    解压

    3. Java的下载安装与环境变量的配置

    4. Tomcat环境变量的配置

    在“环境变量”界面中,分为两部分,上面“某某某的用户变量”的设置,针对的是当前登录电脑的账户;下面部分是系统变量的设置,针对的是这台电脑,相当于是所有账户。对于自己使用的电脑来说,建议直接在下面部分的“系统变量”中来配置。
    右击【计算机】,选择“【属性】——【高级系统设置】——【高级】——【环境变量】”进行环境变量的配置

    (1)右键【我的电脑】,点击【属性】

    进入属性

    (2)进入控制面板界面,单击进入【高级系统设置】

    控制面板

    (4)进入系统属性界面,单击进入【环境变量】

    系统属性界面

    (5)进入环境变量界面,在确保Java环境变量配置好(命令行java与javac命令均有信息)的前提下,点击【新建】,创建一个【变量名】为Catalina_Home,【变量值】为Tomcat解压后的目录,例如【E:\apache-tomcat-9.0.22】的环境变量即可

    配置环境变量

    (6)点击【编辑】系统环境变量【path】,进入环境变量编辑页面,新建一个【%CATALINA_HOME%\bin】环境变量即可

    配置到系统环境变量path

    编辑环境变量

    (7)测试环境变量配置,在命令行cmd下输入【startup】命令有如下结果即成功。

    测试环境变量配置

    (6)启动Tomcat
    • 双击startup.bat打开:

    ① 打开Tomcat解压目录中的bin目录\apache-tomcat-9.0.22\bin,双击打开startup.bat
    打开startup.bat
    ② 弹出Tomcat命令行窗口,执行打开Tomcat命令,若出现【Catalina.start Server startup in [xxxx] milliseconds】,则表示打开成功。
    打开成功

    ① 在Tomcat解压目录中的bin目录下单击【右键】,选择【在此处打开命令窗口】
    打开命令行
    打开命令行
    或者
    使用快捷键【Windows+R】,在运行界面中输入【cmd】打开命令行,然后输入以下命令,定位到Tomcat的解压目录中的bin目录。以【E:\apache-tomcat-9.0.22\bin】为例。

    E:
    cd apache-tomcat-9.0.22\bin
    

    打开命令行
    成功定位
    ② 输入命令startup(另开一个Tomcat窗口打开Tomcat,相当于双击startup或者运行catalina start)或catalina run(直接在windows命令行中运行打开Tomcat),打开Tomcat
    打开Tomcat
    或者
    打开Tomcat
    或者
    打开Tomcat

    (7)测试Tomcat是否成功启动
      启动后不要关闭窗口(否则就关闭了Tomcat),打开浏览器,在地址栏中输入http://localhost:8080或者http://127.0.0.1:8080,若出现以下窗口,则说明Tomcat成功启动。

    成功打开

    值得注意的是http://本机网络IP地址:8080也可以访问Tomcat的界面(云服务器基础)

    (1)查看本机网络IP地址命令如下
    ipconfig
    

    查看IP

    (2)访问http://本机网络ip地址:8080

    网络地址

    三、Tomcat的目录结构与使用

    1. Tomcat的目录结构:

    Tomcat目录结构

    补充:

    bin目录:存放的是Tomcat的命令。主要分为Linux命令(以.sh结尾的)和Windows命令(以.bat结尾的),常用命令为shutdown.bat与startup.bat,分别用于关闭的服务器和启动服务器。
    conf目录:主要是用来存放Tomcat 的配置文件。比如server.xml用于设置端口号、设置域名或者是IP,web.xml可以设置Tomcat支持的文件类型,context.xml可以设置数据源等信息。
    logs目录与temp目录:清空不会对Tomcat造成任何影响。
    webspps目录:存放的是web应用程序。当Tomcat启动后就会去加载该目录下的应用程序,Web项目必须直接或间接(配置虚拟路径)的发布到webapps目录中来,才能被访问。
    work目录:用来存放Tomcat运行时编译后的文件。清空work目录并重启Tomcat可以达到清空缓存的作用。

    2. Tomcat的使用

    (1)修改Tomcat的默认端口
    步骤:
    • ① 采用记事本打开Tomcat安装目录下conf文件夹中的server.xml文件。
      用记事本打开server.xml
    • ② 在server.xml文件中找到以下代码:
    <Connector port="8080" protocol="HTTP/1.1"                             
                   connectionTimeout="20000"                            
                   redirectPort="8443" /> 
    

    找到

    • ③ 将以上代码中的port=”8080”改为port=”8888”,即可将Tomcat的默认端口号设置为8888。
      修改端口号并保存
    • ④ 修改成功后为了使新设置的端口生效,还需要重启Tomcat服务器。此时访问http://localhost:8888或者http://127.0.0.1:8888
      修改成功
      (注意:双击bin文件夹下的startup.bat启动Tomcat时常见错误:可能与其他服务的端口号冲突。)
    常见状态码:

    200:一切正常(看不到)
    3xx:页面重定向(跳转)
    404:资源不存在
    403:权限不足(如访问a目录,但a目录设置不可见)
    500:服务器内部错误(一般都是代码写错了)

    (2)部署Web应用以及实现方法
    • ① 通过复制Web应用到Tomcat中实现(默认的web应用发布目录webapps)

      通过复制Web应用到Tomcat中实现时,首先需要将Web应用的文件夹复制到Tomcat安装目录下的webapps文件夹下,然后启动Tomcat服务器,然后打开浏览器在地址栏中输入“http://主机本地IP(或网络IP):端口号/应用程序名称”形式的URL地址(如http://127.0.0.1:8888/firstProject),即可运行Java Web应用程序。

    *特殊:当端口号为80时,访问Tomcat运行JavaWeb程序可省略端口号。

    新建项目
    访问项目
      如若要访问的项目中有多个jsp文件,则会默认优先访问index.jsp,如有多个html、htm、jsp文件,则会默认优先级为:html>htm>jsp。若想自己控制访问优先级,可以直接指定某个文件(如:http://localhost:8888/firstProject/index.jsp),也可在本项目的WEB-INF/web.xml中的<web-app></web-app>标签中插入如下代码:

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    

    即可让默认访问优先级变为jsp>htm>html。
    插入welcom-file-list

    • ②通过配置虚拟路径定位到Web应用所在位置

    当项目文件位置为E:\MyProject\JspProject1时
    项目位置
      1)通过在【conf】文件夹下server.xml文件中配置<Context>元素实现
    通过在server.xml文件中配置<Context>元素实现时,首先打开Tomcat安装路径下【conf】文件中的server.xml文件然后在<Host></Host>元素中间插入<Context>元素。例如,要配置【E:\MyProject\文件夹下的Web应用JspProject1】可以在<Host></Host>标签中加入以下代码:

    <Context path="/JspProject" docBase="E:\MyProject\JspProject1" />
    

    即可通过http://服务端IP:端口号/path(虚拟路径)运行Java Web应用程序。
    (这种方法的弊端就是每次执行操作之后都得重启Tomcat)
    虚拟路径配置

    *注意:path:虚拟路径(可以为绝对路径,也可以为相对路径【相对于webapps的路径】)docBase:实际路径

      2)通过在【conf】文件夹下【Catalina】文件中的【localhost】文件中新建文件“项目名(虚拟路径名).xml”,然后在其中插入<Context>元素。例如,要配置【E:\MyProject\文件夹下的Web应用JspProject1】,可以在JspProject.xml文件中加入以下代码:

    <Context path="/JspProject" docBase="E:\MyProject\JspProject1" />  
    

    (*注意:此处的path名存实亡)
    此时要运行Java Web应用程序需要在浏览器地址栏中输入“http://服务端IP:端口号/xml文件的文件名”
    (执行完操作不需要重启Tomcat)
    新建文件
    配置文件

    *特殊:方法1中让path=”/”(“”亦可)或者方法2中xml的文件名为ROOT都可以使得http://127.0.0.1:端口号(或http://localhost:端口号或http://服务端IP地址:端口号)直接访问docBase里面的地址中的Web应用

    成功访问

    • ③通过配置虚拟主机使得以http://新域名的方式访问Web应用

      通过配置虚拟主机使得以http://新域名(除localhost以外的域名)的方式访问Web应用(如http://www.abc.com)时,首先需要打开conf/server.xml,然后在<Engine></Engine>元素中插入<Host></Host><Context />元素,接着把<Engine>标签中的defaultHost属性修改为新域名,最后打开本机【windows/system32/drivers/etc/hosts】,加入IP与域名的对应(可加到IP与localhost对应的下面)。
    例如要将本机IP对应的域名设置为 www.abc.com,首先在<Engine></Engine>标签中加入以下代码:

    <Host name="www.abc.com" appBase="E:\MyProject\JspProject1">      	
    <Context path="/" docBase="E:/MyProject/JspProject1" />
    </Host>
    

    然后把<Engine>标签改为如下:

    <Engine name="Catalina" defaultHost="www.abc.com">
    

    最后往hosts中加入以下代码:

    127.0.0.1	www.abc.com
    

    然后将server中的端口号改为80。即可通过访问"www.abc.com"访问Web项目JspProject1。

    (3)进入Tomcat管理界面
    • ① 启动Tomcat,打开浏览器,访问"http://localhost:8080"
      启动Tomcat
      访问localhost:8080
    • ② 点击Managing Tomcat栏下的【manage webapp】,并在弹出的登录框上点击【取消】
      登录
    • ③ 进入401界面,复制以下内容
    <role rolename="manager-gui"/>
    <user username="tomcat" password="s3cret" roles="manager-gui"/>
    

    401界面

    • ④ 打开Tomcat解压目录中【conf】apache-tomcat-9.0.22\conf文件夹中的tomcat-users.xml,将步骤③复制的内容粘贴进去,并且根据那部分内容得到登录用户名为tomcat,密码为s3cret,再刷新页面进行登录即可。
      重新登录
    • ⑤ 成功进入Tomcat管理界面可以看到当前有哪些项目部署在tomcat ,也可以从这里进入某个项目中
      进入Tomcat管理界面
    展开全文
  • Web应用程序模板AdminLTE

    千次阅读 2016-02-29 16:56:55
    Web应用程序模板AdminLTE下载地址:AdminLTE

    Web应用程序模板AdminLTE

    下载地址:AdminLTE

    展开全文
  • pb开发web应用

    千次阅读 2016-11-22 16:43:08
    说到pb开发web,一般是将pb发布成webservice,或者转成webform,两者都有很多限制,比如...要为前端和APP提供服务需要开发web应用,如果能为熟悉的工具进行开发,可以大大节省开发时间,减少学习成本。SATRDA支持PB插件
  • MyEclipse部署Java Web应用

    千次阅读 2016-12-06 16:40:22
    在tomcat下部署Java web应用。 首先,下载tomcat,到官方网站下载相关版本的tomcat,网址:http://tomcat.apache.org/ 下载完成后,主要文件夹如下: bin:保存启动与监控tomcat命令文件 conf:保存tomcat...
  • FreeWAF是一款开源的Web应用防火墙产品,其命名为FreeWAF,它工作在应用层,对HTTP进行双向深层次检测:对于来自Internet的 攻击进行实时防护,避免黑客利用应用层漏洞非法获取或破坏网站数据,可以有效地抵御黑客的...
  • Spring Boot搭建Web应用

    千次阅读 2017-02-21 22:57:21
    Spring Boot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,...
  • Web应用框架汇总

    千次阅读 2018-03-05 14:23:17
    Web应用框架(Web application framework)是一种开发框架,用来支持动态网站、网络应用程序及网络服务的开发。其类型有基于请求的和基于组件的两种框架,Web应用框架有助于减轻网页开发时共通性活动的工作负荷,...
  • Web应用规范 - Java Servlet规范

    千次阅读 2017-09-23 15:03:02
    Web应用规范 - Java Servlet规范1.规范相关规范由Java Community Process (JCP)开发和维护。JCP的成员来自软件行业,其他组织,如Apache软件基金会(ASF),教育机构,也包括个人成员。每个规范开始其所谓的Java规范...
  • Web应用指纹检测

    千次阅读 2017-09-06 17:29:03
    0×01 Web 应用技术概览 1.1 架构 大多数 web 应用可以粗略划分为三个组件(component)。 1、客户端, 大多数情况下是浏览器。 2、服务端, Web 服务器接收客户端的HTTP请求并进行响应。另外,有时候 Web服务器只转发...
  • JAVA WEB应用目录

    千次阅读 2018-11-20 08:09:21
    部署启动应用 Tomcat目录 首先,官方下载 tomcat 安装包,解压。得到下面的目录 bin 目录是tomcat启动和关闭目录。startup.bat启动tomcat 、shutdown.bat关闭tomcat webapps 目录存放着我们的网页文件,自带...
  • Java Web程序设计笔记 • 【第1章 Web应用程序】

    千次阅读 多人点赞 2021-02-19 13:56:39
    1.1 Web 应用程序 1.1.1 Web 应用程序概述 1.1.2 Web 应用程序的工作原理 1.1.3 实践练习 1.2 HTTP协议 1.2.1 URL简介 1.2.2 HTTP 协议概述 1.2.3 HTTP 处理流程 1.2.4 HTTP请求方式 1.2.5 实践练习 1.3 ...
  • 文章目录一、VS的开发环境二、创建C#窗体应用程序三、创建控制台应用程序四、创建Web 一、VS的开发环境 首先你得安装了vs2019,然后确认下下面三个组件是否存在,如果没有要下载一下。vs2019的安装可参考visual ...
  • 通过手机访问本地web应用

    千次阅读 2017-10-19 18:19:34
    一直做android终端开发,对于服务器就是一小白,想尝试下服务器端的工作,就在本地搭建了个web应用。先下载Tomcat,然后运行,进入目录下的bin文件夹运行startup.bat: server起来了: 用浏览器访问:...
  • Web应用程序目录下有帮助文档,是中文名称的Word文件 超链接内容如下: [html] view plain copy  print? a href="jsp/plugin/用户手册.doc">用户手册a>  开发环境...
  • Python+Django框架Web应用开发

    千人学习 2018-06-28 12:02:01
    系统介绍使用Django框架开发Web应用程序,当然,依然水煮风格
  • 原文:What Progressive Web Apps Mean for the Web Opinion by TJ VanToll 作为一个开发者,我持一定的怀疑态度去了解新平台特性。...最近这些新潮的技术似乎是 progressive web 应用,巨大的网络社区 —
  • Python+Flask框架Web应用开发

    千人学习 2018-06-28 12:28:08
    系统介绍基于Flask框架的Web应用开发,小快轻,当然依然水煮风格
  • IP:192.168.2.61 部署容器:apache-...应用:edu-web-boss.war   1、 下载(或上传)最新版的Tomcat7: $wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.tar.gz  
  • 最近Native APP(原生应用)、Web App(Web应用)、Hybrid App(混合应用)的名字让我们听得比较熟悉了,现在我们就通过评析各种应用的优缺点来更进一步看看这三者的区别。
  • flask web 应用部署

    千次阅读 2016-03-09 16:59:50
    在 DigitalOcean 上部署留言板应用过程中学到了很多东西,现在将其中的点滴知识记录下来。项目代码在:https://github.com/David-Guo/message-board效果展示:https://loveswing.tk 1. 环境 VPS :DigitalOcean 系统...
  • Web应用服务器-Tomcat

    千次阅读 2018-10-21 11:55:47
    Tomcat是由Apache、Sun 和其他一些公司及个人共同开发而成的Web 应用服务器,由于其技术先进、性能稳定以及免费而受大家的喜爱,是目前比较流行的Web 应用服务。Tomcat 服务器是一个免费的开放源代码的Web 应用...
  • web应用中集成Ireport

    千次阅读 2017-05-01 18:53:11
    从项目需求,资源,技术上的综合考量, 最后还是选择...Ireport网上的中文资料很少, 实际操作起来会遇到各种问题,中文显示问题, Ireport模板绘制问题, 应用在window下没错,linux下报错等一系列奇葩问题。 当时选
  • 应用服务器Glassfish上部署web应用

    千次阅读 2015-01-20 15:15:36
    2011-11-20 15:47:00 分类: 系统运维 ...在现有的Java web开发中,关于应用服务器,大家最熟知的开源的有:Tomcat、Jboss、...1. Tomcat是Apache鼎力支持的Java Web应用服务器,由于它优秀的稳定性以及丰富
  • electron 打包web应用

    万次阅读 2016-04-09 23:05:36
    时下流行的web app打包工具主要有两个,一个是国内开发者主导的nw.js,另一个是国外大厂支撑的electron。对比了nw.js以及electron之后还是选择了electron,原因主要有以下几点: 1、基于该工具已有广泛被使用的产品...
  • IntelliJ IDEA 开发Web应用图文教程

    万次阅读 多人点赞 2017-05-27 17:47:14
    一,简介Eclipse/MyEclipse确实用起来诸多不爽,准备切换IntelliJ IDEA,本篇介绍如何配置IDEA并使用IDEA开发一个Web应用。二,软件下载与安装1,首先下载安装JDK并配置环境变量。JDK安装目录D:\Java\jdk1.7.0_79 ...
  • 利用OSGi开发WEB应用

    千次阅读 2012-08-29 17:44:25
    在OSGi中有规定了WEB服务,那就是Http服务,在Equinox中以两种方式实现OSGi Http服务:(1)org.eclipse.equinox.http...OSGi的Web应用开发方法与其它OSGi的开发方式相似,下面以一个简单例子说明一下开发的过程。  在
  • web应用打包成桌面可执行程序

    万次阅读 2017-12-09 17:18:04
    本教程旨在帮助开发人员把web应用程序打包成一个可执行的桌面应用程序,并生成一个安装包setup.exe,直接安装到本地电脑,方便用户使用。 1、背景 开发web项目时,大多数选择主流的chrome等浏览器作为开发调试工具...
  • Java web应用中的安全问题整理

    千次阅读 2017-09-10 09:19:13
    近来,自己开发的Java Web应用中存在一些安全漏洞,被迫要求关注这些安全隐患、并加固。那么本文就顺便整理一下Java Web开发过程中容易忽略的几个安全问题吧,这些问题都能搜到,并且加固方式也不复杂。初学者或者对...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 596,125
精华内容 238,450
关键字:

web应用下载