1.CS和BS

CS:Client/Server 客户端和服务器,这种软件往往需要安装。比如QQ、迅雷、播放器。

优点 :  可以减轻服务器端压力,将部分代码写到客户端,并且界面很美观。

缺点 :  一旦服务器更新了,客户端也需要更新,分布式开发比较弱。

BS:Browser/Server 浏览器和服务器,这种软件不需要安装,只需要通过浏览器就可以访问。

优点 : 服务器一旦更新,不需要更新客户端,因为客户端就是浏览器,所以拥有比较强的分布式能力

缺点:服务器端压力会比较大、界面效果不如CS结构软件。

2.常见web服务器

  • Tomcat        : Apache组织提供的一个开源的免费的中小型web服务器。满足EE的Serlet和JSP的规范。
  • WebSphere :IBM公司开发的一个收费的大型web服务器。满足了EE开发的所有规范。
  • WebLogic    :BEA公司开发的一个收费的大型web服务器。满足了EE开发的所有规范。
  • IIS                :应用在.NET平台上,使用C#,收费
  • Apache        :应用在PHP平台上。

3.WEB开发中的资源

3.1静态web资源

客户端请求静态资源(*.htm或者是*.htm), 然后WEB服务器根据请求从文件系统(存放了所有静态页面的磁盘)取出内容。通过Web服务器返回给客户端,最终在浏览器上显示,而页面就是设计者把页面上所有东西都设定好、做死了的.

3.2动态web资源

动态页面的内容一般都是依靠服务器端的程序来自动生成的,不同人、不同时候访问页面,显示的内容都可能不同。而请求动态资源都是(*.jsp、*.asp/*.aspx、*.php)

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

servlet:sun公司提供的用于开发动态web资源的技术(下下章学习)。
jsp:(java server page),java提供的一门开发web网页的技术。

4. Tomcat使用

Tomcat下载地址: http://tomcat.apache.org

下载好后,打开目录如下所示:

  • bin:可以执行文件。

  • conf:
    tomcat服务器的配置文件

  • lib:
    tomcat启动后需要依赖的jar包

  • logs:
    tomcat工作之后的日志文件
  • temp : 临时文件,比如写jsp文件时,然后转换为servlet时,会生成一些临时文件

  • webapps:
    tomcat部署工程的目录。
  • work:jsp文件在被翻译之后保存在当前这个目录下,session对象被序列化之后保存的位置

如果电脑上装了多个不同版本的tomcat,则需要设置catalina_home环境变量,来指定要使用哪个tomcat

4.1启动Tomcat

找到/bin/startup.bat(window启动文件) 双击运行,发现被闪退了.

在cmd里输入java –version,发现java路径正常:

那就是JAVA_HOME和JRE_HOME两个环境变量没设置,接下来设置Tomcat的java路径

windows的话则编辑setclasspath.bat,在开头处添加自己的java路径:

再次双击运行startup.bat ,报错:

显示8080端口已被占用, 通过cmd输入netstat
-anb > a.txt,找到被这个2345辣鸡软件给占用了(后台退出2345SoftMgr.exe即可):

或者更改tomcat /conf /server.xml 文件下的8080端口号,改为其他端口号.

再次双击运行startup.bat ,显示server startup in 4105ms,则成功了:

然后在浏览器中输入 http://127.0.0.1:80 或 localhost:8080访问测试

显示下图则表示成功了:

4.2关闭Tomcat

第1种:点击Tomcat窗口的右上角关闭按钮 (暴力停止服务器)

第2种:找到tomcat目录/bin/shutdown.bat文件,双击执行关闭Tomcat。

5.本地发布web项目到tomcat

方法1-直接创建

发布项目时,只需要将html文档放入到webapps目录里,以hello.html为例,hello.html内容如下所示:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表单</title>
</head>
<body>
<table width="80%" height="50%" border="1" >
<tr>
<td colspan="3" align="center">成绩表格</td>
</tr> <tr>
<td rowspan="2" align="center">张三</td>
<td align="center">语文</td>
<td align="center">78分</td>
</tr> <tr>
<td align="center">数学</td>
<td align="center">78分</td>
</tr> <tr>
<td rowspan="2" align="center">李四</td>
<td align="center">语文</td>
<td align="center">77分</td>
</tr> <tr>
<td align="center">数学</td>
<td align="center">89分</td>
</tr>
</table>
</body>
</html>

然后在浏览器里输入http://localhost:8080/hello/hello.html(也可以输入本机IP直接访问),就能够访问成功:

方法2-通过war包形式自动生成(前提必须运行tomcat)

对html进行打包,选择zip格式/标准方式/32kb,名字改为hello1.war,然后放入webapps目录中,tamcat后台就会自动进行解压,并生成hello1文件夹,然后将打包的所有html放入hello1中,如下图所示,可以看到自动生成了一个hello1文件夹:

6.通过eclipse发布web项目到tomcat

6.1配置eclipse

点击JavaEE透视图:

然后点击底部栏的Servers,创建server:

然后点击Apache/Tomcat v7.0 Server(笔者的Tomcat是7.0的),然后点击Next:

然后设置安装Tomcat 的安装目录(D:\apache-tomcat-7.0.67),然后点击Next:

此时,就可以看到底部栏有了tomcat服务器了:

  

由于eclipse默认生成的web工程路径位于工作空间,而不是tomcat的webapps目录下,所以需要修改:

最后ctrl+s保存.

6.2创建一个web工程

点击File->new->Dynamic Web Project:

然后设置name,点击next:

然后再次点击Next:

最后一步时,勾选web.xml,表示生成部署文件,然后点击finish:

生成后的项目如下所示(切换为java透视图后):

  • src:存放java 源代码的
  • JRE System Library: 指Java SE 的常用库文件集合,也就是 jar 包,
  • Apache Tomcat v7.0 :是指这个项目所依赖的服务器(Tomcat)的目录。
  • build:编译后的内容,可以在本地的项目名\build\classes 下查看。
  • WebContent: 用来存放静态的内容, 用来后面存放 JSP,JS,CSS,图片等文件
  • WebContent/META-INF:存放一些 meta information 相关的文件的这么一个文件夹, 一般来说尽量不要自己手工放置文件到这个文件夹。
  • WebContent/WEB-INF/lib : 用来存放该项目所需要使用的 jar 包的集合。
  • WebContent/WEB-INF/web.xml:部署描述符,用来描述该工程的配置信息.

右击WebContent->New->other,然后创建一个from. html,from.html内容如下所示:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表单</title>
</head>
<body>
<table width="80%" height="50%" border="1" >
<tr>
<td colspan="3" align="center">成绩表格</td>
</tr>
<tr>
<td rowspan="2" align="center">张三</td>
<td align="center">语文</td>
<td align="center">78分</td>
</tr>
<tr>
<td align="center">数学</td>
<td align="center">78分</td>
</tr>
<tr>
<td rowspan="2" align="center">李四</td>
<td align="center">语文</td>
<td align="center">77分</td>
</tr>
<tr>
<td align="center">数学</td>
<td align="center">89分</td>
</tr>
</table>
</body>
</html>

接下来,我们便发布到tomcat,看看能不能访问到该html

6.3发布到tomcat

右击刚刚我们创建的web项目,选择run on server:

然后选择我们刚刚创建的server,并点击finish:

然后输入http://localhost:8080/webDemoHello/from.html就可以看到访问成功了:

进入tomcat/webapps下,也可以看到我们的项目:

未完待续,下章学习HTTP分析,下下章学习servlet实现~

2.Android网络编程-web介绍以及Tomcat安装使用的更多相关文章

  1. 1.Android网络编程-HTML介绍

    1.HTML介绍 超文本标记语言(HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言. 在Eclipse下则可以使用自带的浏览器浏览html: 2.H ...

  2. 3.Android网络编程-http介绍

    1.HTTP请求方法 根据HTTP标准,HTTP请求可以使用多种请求方法. HTTP1.0定义了三种请求方法: GET(查), POST(改)和 HEAD(获取报头,一般用来测试链接是否正常)方法. ...

  3. Android网络(3):HttpClient作client,Tomcat Servlet作server的交互演示样例

    前面相继介绍了Android网络编程里的Socket传输图片.HttpURLConnection,今天看HttpClient. 第一部分:JavaEE版的Eclipse配置Tomcat [备注:开发后 ...

  4. Android网络编程(一)HTTP协议原理

    相关文章 Android网络编程(一)HTTP协议原理 Android网络编程(二)HttpClient与HttpURLConnection Android网络编程(三)Volley使用方法全解析 A ...

  5. Android 网络编程 记录

    简单介绍 看了深入理解Android网络编程感觉不错.今天对Android网络编程进行了要点记录. 内容 Android基于网络技术和编程实践 要点 定义 描写叙述 IP协议 用于报文交换网络的一种面 ...

  6. Android网络编程系列 一 TCP/IP协议族

    在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...

  7. Android网络编程系列 一 Socket抽象层

     在<Android网络编程>系列文章中,前面已经将Java的通信底层大致的描述了,在我们了解了TCP/IP通信族架构及其原理,接下来我们就开始来了解基于tcp/ip协议层的Socket抽 ...

  8. Android网络编程概述

    Android网络编程概述 首先,应该了解的几个问题: 1)Android平台网络相关API接口 a) java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流.数据包 ...

  9. Android网络编程http派/申请服务

    最近的研究Android网络编程知识,这里有一些想法,今晚学习.与您分享. 在实际的应用程序的开发非常需要时间appserver请求数据,那么app怎样发送请求呢?以下的代码就是当中的一种情况.使用H ...

随机推荐

  1. Stopping service [Tomcat] Disconnected from the target VM, address:XXXXXX解决方案

    原文出处:https://blog.csdn.net/u013294097/article/details/90677049 Stopping service [Tomcat] Disconnecte ...

  2. js实现表单的提交

    <form action="" method="post" name="form"> <tr>           ...

  3. vue-父组件向子组件传值

    一.父组件向子组件传值 其实该问题是说子组件如何访问父组件的属性和方法?那么根据对组件化的理解,无非就是要解决两个问题: 1.父组件如何将值传给子组件? 2.子组件如何获取父组件传递过来的值? 解读v ...

  4. 实现一个简易的RPC

    之前写了一些关于RPC原理的文章,但是觉得还得要实现一个.之前看到一句话觉得非常有道理,与大家共勉.不是“不要重复造轮子”,而是“不要发明轮子”,所以能造轮子还是需要造的. 如果大家还有不了解原理的, ...

  5. 实验12: OSPF

    实验9-1:单区域点到点链路的OSPF 实验目的通过本实验可以掌握:(1)在路由器上启动OSPF 路由进程(2)启用参与路由协议的接口,并且通告网络及所在的区域(3)度量值cost 的计算(4)点到点 ...

  6. 阿里云Redis性能测试结果(1个集合存300万数据,查询能几秒返回结果)

    现状: 1.买了一台主从的阿里云Redis,内存就1GB. 2.查询了阿里云的帮助,没有找到性能相关的说明, 有的也是4GB版本的并发性能 3.提工单问客服 一个集合里有300万数据,单次查询性能大概 ...

  7. LeetCode22 生成所有括号对

    本文始发于个人公众号:TechFlow,原创不易,求个关注 链接 Generate Parentheses 难度 Medium 描述 Given n pairs of parentheses, wri ...

  8. (二)maven依赖,两个项目之间如何依赖,继承实现

    maven的jar之间存在依赖关系的,我们在引入一个时,其他有依赖关系的也会被引入 依赖排除: 比如现在有两个依赖关系,A(x,java,y.java,z.java)  B(a,java,b,java ...

  9. webpack chunkFilename 非入口文件的命名规则 [转]

    官网的文档只理解了filename是主入口的文件名,chunkFilename是非主入口的文件名 filename应该比较好理解,就是对应于entry里面生成出来的文件名.比如: { entry: { ...

  10. 基于 HTML5 WebGL 的智慧楼宇三维可视化监控

    前言 可视化的智慧楼宇在 21 世纪是有急迫需求的,中国被世界称为"基建狂魔",全球高层建筑数量位居首位,所以对于楼宇的监控是必不可少.智慧楼宇可视化系统更多突出的是管理方面的功能 ...