server_serverless - CSDN
精华内容
参与话题
  • 什么是WEBserver? 经常使用的WEBserver有哪些?   一、什么是WEBserver  Webserver能够解析HTTP协议。当Webserver接收到一个HTTP请求,会返回一个HTTP响应,比如送回一个HTML页面。为了处理一个请求Webserver能够...

    什么是WEBserver? 经常使用的WEBserver有哪些?

     
    一、什么是WEBserver

        Webserver能够解析HTTP协议。当Webserver接收到一个HTTP请求,会返回一个HTTP响应,比如送回一个HTML页面。为了处理一个请求Webserver能够响应一个静态页面或图片,进行页面跳转或者把动态响应的产生托付给一些其他的程序比如CGI脚本,JSP脚本,servlets,ASP脚本,server端JavaScript,或者一些其他的server端技术。不管它们(译者注:脚本)的目的怎样,这些server端的程序通常产生一个HTML的响应来让浏览器能够浏览。 

     

    二。经常使用的WEBserver有哪些?

         在UNIX和LINUX平台下使用最广泛的免费HTTPserver是W3C、NCSA和APACHEserver,而Windows平台NT/2000/2003使用IIS的WEBserver。在选择使用WEBserver应考虑的本身特性因素有:性能、安全性、日志和统计、虚拟主机、代理server、缓冲服务和集成应用程序等,以下介绍几种经常使用的WEBserver。

     

    Microsoft IIS
         Microsoft的Webserver产品为Internet Information Server (IIS), IIS 是同意在公共Intranet或Internet上公布信息的Webserver。IIS是眼下最流行的Webserver产品之中的一个,非常多著名的站点都是建立在IIS的平台上。IIS提供了一个图形界面的管理工具,称为 Internet服务管理器,可用于监视配置和控制Internet服务。

         IIS是一种Web服务组件,当中包含Webserver、FTPserver、NNTPserver和SMTPserver,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包含互联网和局域网)上公布信息成了一件非常easy的事。它提供ISAPI(Intranet Server API)作为扩展Webserver功能的编程接口;同一时候,它还提供一个Internet数据库连接器,能够实现对数据库的查询和更新。

     

    IBM WebSphere
         WebSphere Application Server 是 一 种功能完好、开放的Web应用程序server,是IBM电子商务计划的核心部分,它是基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程序。 这一整套产品进行了扩展,以适应 Web 应用程序server的须要,范围从简单到高级直到企业级。

         WebSphere 针对以 Web 为中心的开发者,他们都是在基本 HTTPserver和 CGI 编程技术上成长起来的。IBM 将提供 WebSphere 产品系列,通过提供综合资源、可反复使用的组件、功能强大并易于使用的工具、以及支持 HTTP 和 IIOP 通信的可伸缩执行时环境,来帮助这些用户从简单的 Web 应用程序转移到电子商务世界。

     

    BEA WebLogic
         BEA WebLogic Server 是一种多功能、基于标准的web应用server,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署全部关键性的任务,不管是集成各种系统和数据库,还是提交服务、跨 Internet 协作,起始点都是 BEA WebLogic Server。因为 它具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发,基于 Internet 的企业都选择它来开发、部署最佳的应用。

         BEA WebLogic Server 在使应用server成为企业应用架构的基础方面继续处于率先地位。BEA WebLogic Server 为构建集成化的企业级应用提供了稳固的基础,它们以 Internet 的容量和速度,在连网的企业之间共享信息、提交服务,实现协作自己主动化。

     

    APACHE

         apache仍然是世界上用的最多的Webserver,市场占有率达60%左右。它源于NCSAhttpdserver,当NCSA WWWserver项目停止后,那些使用NCSA WWWserver的人们開始交换用于此server的补丁,这也是apache名称的由来(pache 补丁)。世界上非常多著名的站点都是Apache的产物,它的成功之处主要在于它的源码开放、有一支开放的开发队伍、支持跨平台的应用(能够执行在差点儿全部的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。

     

    Tomcat
         Tomcat是一个开放源码、执行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是依据servlet和JSP规范进行执行的,因此我们就能够说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件server要好。
         Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是全然重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此眼下很多WEBserver都是採用Tomcat。
    眼下,很多大型Web应用一般将Apache和Tomcat结合使用,Apache负责接收用户的HTTP请求,假设请求是Servlet、Jsp,则把请求转发给Tomcat处理,并将处理结果封装响应给用户。

    展开全文
  • Server(简单详细)

    2018-06-17 23:52:44
    Server是Android中实现程序后台运行的解决方案. 它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务 服务的运行不依赖于任何界面,即使程序被切换到后台,或者用户打开另一个应用程序,服务任然能够正常...

    介绍

    1. Server是Android中实现程序后台运行的解决方案.
    2. 它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务
    3. 服务的运行不依赖于任何界面,即使程序被切换到后台,或者用户打开另一个应用程序,服务任然能够正常运行
    4. 我们需要在Server的内部创建子线程,否则可能出现主线程被阻塞的情况

    创建自己的MyServer类

    继承Service类

    public class MyService extends Service {
        public MyService() {
        }
    
        @Override
        public IBinder onBind(Intent intent) {
            //和活动进行通信使用
            throw new UnsupportedOperationException("Not yet implemented");
        }
    }

    继承完还不够,还需重写几个常用的方法

    public class MyService extends Service {
        public MyService() {
        }
    
        @Override
        public IBinder onBind(Intent intent) {
            //和活动进行通信使用
            throw new UnsupportedOperationException("Not yet implemented");
        }
    
        @Override
        public void onCreate() {
            //在服务创建的时候调用
            super.onCreate();
        }
    
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            //每次服务启动的时候调用
            return super.onStartCommand(intent, flags, startId);
        }
    
        @Override
        public void onDestroy() {
            //在服务销毁的时候调用
            super.onDestroy();
        }
    }

    别忘了在AndroidManifest进行注册

    <service
        android:name=".MyService"
        android:enabled="true"
        android:exported="true">
    </service>
    enabled是否启用这个服务
    exported是否允许除了当前程序之外的其他程序访问这个服务

    启动和暂停服务

    布局文件代码
    只有2个按钮,一个启动,一个暂停

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <Button
            android:id="@+id/start_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="start_service" />
    
        <Button
            android:id="@+id/stop_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="stop_service" />
    
    </LinearLayout>

    MainActivity

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        private Button startService;
        private Button stopService;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //初始化View
            startService = (Button) findViewById(R.id.start_service);
            stopService = (Button) findViewById(R.id.stop_service);
            //注册监听
            startService.setOnClickListener(this);
            stopService.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()){
                case R.id.start_service:
                    //开启服务
                    Intent startIntent = new Intent(MainActivity.this, MyService.class);
                    startService(startIntent);
                    break;
                case R.id.stop_service:
                    //暂停服务
                    Intent stopIntent = new Intent(MainActivity.this, MyService.class);
                    stopService(stopIntent);
                    break;
                default:
                    break;
            }
        }
    }

    活动和服务进行通信

    上面再MainActivity中启动了服务,但是启动后,就没下文了…,服务确实启动了,然而活动并不知道服务到底去做了什么事情,以及完成的如何.

    比如说,我们希望在MyService里提供一个下载功能,然后在活动中决定何时开始下载,以及随时查看下载进度.

    重写下MyService代码

    public class MyService extends Service {
    
        private DownloadBinder mBinder = new DownloadBinder();
    
        public MyService() {
        }
    
        @Override
        public IBinder onBind(Intent intent) {
            //和活动进行通信使用
            throw new UnsupportedOperationException("Not yet implemented");
        }
    
        @Override
        public void onCreate() {
            //在服务创建的时候调用
            super.onCreate();
        }
    
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            //每次服务启动的时候调用
            return super.onStartCommand(intent, flags, startId);
        }
    
        @Override
        public void onDestroy() {
            //在服务销毁的时候调用
            super.onDestroy();
        }
    
        class DownloadBinder extends Binder {
    
            public void startDownload() {
                //开始下载
            }
    
            public void getProgress() {
                //查看进度
            }
        }
    }

    布局文件修改,添加2个按钮,一个绑定服务,一个解绑服务

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <Button
            android:id="@+id/start_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="start_service" />
    
        <Button
            android:id="@+id/stop_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="stop_service" />
    
        <Button
            android:id="@+id/bind_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="bind_service" />
    
        <Button
            android:id="@+id/unbind_service"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="unbind_service" />
    
    </LinearLayout>

    MainActivity修改

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        private Button startService;//开启服务
        private Button stopService;//暂停服务
        private Button bindService;//绑定服务
        private Button unbindService;//解绑服务
    
        private MyService.DownloadBinder downloadBinder;
    
        private ServiceConnection connection = new ServiceConnection() {
    
            @Override
            public void onServiceConnected(ComponentName name, IBinder service) {
                //当活动与服务成功绑定
                //service向下转型
                downloadBinder=(MyService.DownloadBinder)service;
                //开始下载
                downloadBinder.startDownload();
                //查看进度
                downloadBinder.getProgress();
            }
    
            @Override
            public void onServiceDisconnected(ComponentName name) {
                //当活动与服务连接断开时
            }
        };
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //初始化View
            startService = (Button) findViewById(R.id.start_service);
            stopService = (Button) findViewById(R.id.stop_service);
            bindService = (Button) findViewById(R.id.bind_service);
            unbindService = (Button) findViewById(R.id.unbind_service);
            //注册监听
            startService.setOnClickListener(this);
            stopService.setOnClickListener(this);
            bindService.setOnClickListener(this);
            unbindService.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.start_service:
                    //开启服务
                    Intent startIntent = new Intent(MainActivity.this, MyService.class);
                    startService(startIntent);
                    break;
                case R.id.stop_service:
                    //暂停服务
                    Intent stopIntent = new Intent(MainActivity.this, MyService.class);
                    stopService(stopIntent);
                    break;
                case R.id.bind_service:
                    //绑定服务
                    Intent bindIntent = new Intent(this, MyService.class);
                    bindService(bindIntent, connection, BIND_AUTO_CREATE);
                    break;
                case R.id.unbind_service:
                    //解绑服务
                    unbindService(connection);
                    break;
                default:
                    break;
            }
        }
    }
    展开全文
  • 很多使用eclipse环境在开发Java web项目中遇到一些缺少环境如数据库相关Database explorer以及servers插件等 本文主要介绍Database explorer以及servers插件在线安装的方法 1 Database explorer在线安装: ...

    很多使用eclipse环境在开发Java web项目中遇到一些缺少环境如数据库相关Database explorer以及servers插件等

    本文主要介绍Database explorer以及servers插件在线安装的方法

    1 Database explorer在线安装:
    在Help==>Install New Software;

    在Work with: 输入Kepler - http://download.eclipse.org/releases/kepler
    在下面找到Database Development勾选,一路 Next 安装后,重启eclipse即可。

    有时安装显示非常缓慢,这时取消,再次回到这个面板,如图:

    点击“”Availabale  software sites“”出现如下窗口


    只保留要下载的被勾选,其余的勾选的要取消,这就解决了下载缓慢的问题。



    servers在线安装:

    找到Help->InstallNew Software;
    在Work with: 输入Kepler - http://download.eclipse.org/releases/kepler;
    在下面找到Web,XML, Java EE and OSGi Enterprise Development 选项,展开,选择
    JST Server AdaptersExtensions(打勾选上该项)

    图文可参考该地址的博客,具体图文就不描述了,博客介绍的很详细;
    https://www.cnblogs.com/xiaoxiaoweng/p/7298183.html





    展开全文
  • Eclipse开发JavaWeb项目配置Tomcat,详细教程

    万次阅读 多人点赞 2018-01-23 15:22:40
    以下都经过本人自学时一一自己动手配置实验。 首先介绍eclipse开发JavaWeb项目需要配置的相关环境,使用tomcat软件在本地搭建服务器,然后再在eclipse环境下配置tomcat: 第一步:使用tomcat软件在本地搭建服务器...

    以下都经过本人自学时一一自己动手配置实验。

    首先介绍eclipse开发JavaWeb项目需要配置的相关环境,使用tomcat软件在本地搭建服务器,然后再在eclipse环境下配置tomcat:

    第一步:使用tomcat软件在本地搭建服务器,这个本地的tomcat服务器与eclipse环境下配置tomcat服务器都可以使用,但是只能启动一个,否则会报端口冲突,到时安装好环境会介绍

    tomcat软件是apache旗下的一个开源项目。软件下载链接:http://tomcat.apache.org/,如图,我选择的是7.0的环境,并且选择的安装板,不需要配置相关的环境变量,zip版各种环境变量配置麻烦死了,这些个环境软件会在我的结束语中给一个下载地址,也可以根据自己的环境需求下载需要的版本

    安装版教程链接可参考:https://wenku.baidu.com/view/869562cd58f5f61fb736668f.html),网上也有很多安装教程链接,介绍下安装成功之后,在计算机管理-应用中就可以看到tomcat的服务如图第三个图标:


    打开该图标出现如下窗口:


    该窗口中有一个start按钮,点击start按钮,tomcat本地服务器就开启了,点击stop按钮,服务就关闭了

    只有在服务开启的情况下,在浏览器中输入http://localhost:8080 进入如下页面表示安装成功。


    这里本地tomcat安装成功了。

    第二步:eclipse环境下如何配置tomcat服务器:

    打开Eclipse,单击“Window”菜单,选择下方的“Preferences”,看是否存在“Server”选项,我目前使用的是eclipse版,不带额外插件,一些使用的Myeclipse集成了J2EE可以忽略此过程。我使用的EclipsePreferences下是没有Server选项,此时需要安装server插件,我的上一篇博客介绍了如何安装server插件,我这里就不详细叙述了,安装了server之后;如图


    上图中,点击“add”的添加按钮,弹出如下界面:


    上图中,选择对应的Tomcat版本,点击next,如图:


    上图中,选择Tomcat的路径,以及JRE(使用工作平台默认的,不用做额外添加修改),点击“完成”,配置完毕。

    第三步:建立一个web项目

    File → New → Dynamic Web Project ,一路next,在该窗口时如图,勾选Gernerate web.xml deployment descriptor ,finish 就ok了


    让tomcat服务器显示在控制台上,将web应用部署到tomcat中,Window → Show View → Servers如图


    点击链接No servers are available. Click ths link to create a new server. ,在弹出的对话框中选择Tomcat版本 如图:


    点击“Next”,添加我们的项目 如图:,点击finish


    返回eclipse控制台下方的“Servers”面板,右键单击该面板中的“Tomcat v7.0 Server at localhost”节点,在弹出的快捷菜单中单击“Start”,即可启动指定的Web服务器,这里要说明一下就是:很重要,尤其对于不懂的初学者,我也是搞了很久查资料才弄明白,在快捷菜单中单击“Start”启动Web服务器时,弹出如图窗口:


    这个是由于你开启了本地tomcat服务器,又开启eclipse集成的tomcat服务器,引起端口冲突,可以先关掉本地tomcat服务器,如图点击stop之后

    在操作快捷菜单中单击“Start”启动Web服务器就不会有端口冲突窗口出现了,控制台出现如下提示就ok啦。

    测试下,建立一个jsp文件放在webcontent目录下,如图,关于javaweb项目结构,以及建立jsp文件中文乱码就不详细叙述了,网上文档太多了,如图:


    随便运行一个jsp文件,右键——>Run As ——>Run on Server, 效果如图:整个过程就ok了


    再看下一个细节:

    看下一 根据前面的介绍,上图表明,我们新建的项目已经部署到Tomcat服务器上去了,也就是看到了javaweb这个工程发布出去了,双击“Tomcat v7.0 Server at localhost”节点,出现如图信息


    上图的红框部分表明,服务的部署是在eclipse里面(默认是放在工作空间里的.metadata文件夹下),而不是在Tomcat里面。我们来改一下,前提是工程并没有发布到Tomcat中去,那我们先把之前发布的版本删了吧(稍后重新发布):


    这时再次双击“Tomcat v7.0 Server at localhost”节点,使用Tomcat的安装目录作为部署的位置,并修改部署的路径Deploy path(建议改成Tomcat的webapps目录下),然后保存即可。

    这时,重新运行程序。现在来到Tomcat的webapps目录下,发现多了一个javaweb文件夹(即工程文件名),并且文件夹下包含了工程文件中WebContent的内容:


    上图说明,说明这才是真正将程序发布到服务器上。

    我们再来到Tomcat的work目录中,看一下编译之后的文件:


    上图表明,Tomcat会先将jsp文件转为java文件,然后再把java文件编译为class文件,最终执行的是class文件。现在来看一下JSP运行的原理。

    到这里总结以下:上面的整个过程,让我们学会了如何配置Tomcat和部署工程文件,明白了jsp文件是怎样发布到服务器上并最终显示出来。关于JSP的进一步学习可以参考网上的教程自学

































    展开全文
  • 实现Http Server的三种方法

    万次阅读 2017-04-26 08:39:33
    一、使用SUN公司在JDK6中提供的新包com.sun.net.httpserver   JDK6提供了一个简单的Http Server API,据此我们可以构建自己的嵌入式Http Server,它支持... Server API来实现,程序员必须自己实现HttpHandler接口,H
  • AndServer初探

    千次阅读 2019-01-04 17:21:25
    AndServer初探 详细了解请戳这里 AndServer的github地址【https://github.com/yanzhenjie/AndServer】 AndServer文档地址【https://www.yanzhenjie.com/AndServer/】 AndServer的相关博客地址...
  • Kubernetes 之APIServer组件简介

    万次阅读 2018-09-14 17:04:54
    API Server简介 k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心。 kubernetes API Server的功能: 提供了集群管理的REST API接口...
  • 微软操作系统 Windows Server 2012 R2 官方原版镜像 Windows Server 2012 R2 是由微软公司(Microsoft)设计开发的新一代的服务器专属操作系统,其核心版本号为 Windows NT 6.3 。提供企业级数据中心与混合云解决...
  • xorg-xserver相关完全解析

    千次阅读 2019-04-09 11:27:05
    本文主要是从以下几个方面介绍xorg-xserver 相关的知识 1.linux系统图形界面框架 2.xserver 和x client启动过程 3.图形2d,3d加速原理简介 4.xserver主分支代码解析。 5.xserver,xclient协议简介 6.一个基于...
  • (图文详细)AppServer安装及配置教程

    万次阅读 多人点赞 2018-06-03 12:20:50
    (图文详细)AppServ安装及配置教程 一、AppServ简介 二、下载AppServ并安装 三、检查是否成功及配置 (图文详细)AppServ安装及配置教程 一、AppServ简介 ...AppServ所包含的软件有:Apac...
  • 彻底卸载SQL Server

    万次阅读 多人点赞 2019-02-21 17:02:02
    很多人在面对SQL Server出现的一些无法解决的问题时,会选择卸载重装,但是SQL Server卸载不干净的话,后续安装过程会出现很多问题,因此安全干净的卸载软件是很重要的步骤。 1、在运行中输入services.msc,然后...
  • springboot tomcat的配置选项大全

    万次阅读 2017-03-23 19:11:24
    server. Port = xxxx server. Address = server. contextPath = server. displayName = server. servletPath = server. contextParameters = server. useForwardHeaders = server. serverHeader =
  • SqlServer_查看SQLServer版本信息

    万次阅读 2018-03-22 11:32:05
    执行sql语句: SELECT @@VERSION ... Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit...
  • navicat连接sqlserver数据库

    万次阅读 2017-08-14 11:13:39
    一、nacicat连接本地sqlserver数据库  二、nacicat连接远程sqlserver数据库
  • The Tomcat server configuration at \Servers\Tomcat v7.0 Server at localhost-config is missing. Check the server for errors. 原因不小心删除了Project Explorer下的Server 解决方法: 1.删除Server下的...
  • 出现Internal Server Error错误

    万次阅读 热门讨论 2017-11-14 23:56:26
    Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.Please contact the server administrator, admin@sky00....
  • Winows Server 2019 激活正确姿势!

    万次阅读 多人点赞 2020-03-24 17:44:28
    前两天发现Server2019出了正式版,准备安装一个玩玩。发现到处找不到激活码,搜到一个CSDN博客的给提供了两个激活码,但是对正式版都不能用。 我这里安装的是Windows Server 2019 Standard版本 Windows Server 2019 ...
  • Could not publish server configuration for Tomcat v8.0 Server at localhost. Context with path "/WebDemo" conflicts with another Context with path "/webdemo". ...
  • nginx host和default_server

    万次阅读 2019-04-01 20:43:09
    1 URL和Host的区别:URL负责找到服务器,到服务器上时解析靠server_name匹配Host 2 浏览器上的host默认会自动从URL上解析(例如URL: tom.com/login host会设置成tom.com) 3 nginx上host匹配不到server会走default...
  • SQL Server 只安装客户端的方法

    万次阅读 2018-01-08 14:39:07
    只安装管理工具
1 2 3 4 5 ... 20
收藏数 3,814,303
精华内容 1,525,721
关键字:

server