一、相关基础知识

1、C/S(Client/Server)架构和B/S(Browser/Server)架构

首先说C/S架构,简单讲其实很常见,类似QQ等需要下载客户端的应用程序就是建立在C/S架构中。往深一点讲,它是分布式架构,每个客户端直接连接数据库服务器,并且数据的处理需要依赖客户端,所以说我们经常见到QQ用着用着就卡死了。这么一来,软件开发时选择C/S架构会出现以下问题:

1)所有客户端并发连接数据库,这直接限制客户端程序同时运行的数量。

2)需要安装,麻烦。(不过,这阻挡不了现在各种APP的盛行)

3)一旦甲方需要更新软件,就需要广大客户机也一起更新。(百度浏览器(手机端)天天跳出更新提示也很烦,也没个关闭更新的按钮,其实类似QQ每隔一段时间才更新就挺好啊,太频繁更新的后果就是最后我弃用百度浏览器(手机端))

其次就是B/S架构了,它是对C/S架构的一种改进版。举例说明就是现在很多在线视频已经不用安装客户端了,只要你有一个浏览器,那个所有的WEB服务都是在浏览器上进行。它与数据库的连接经历了一道门:客户端--web服务器(门!)--数据库服务器,这样一来,客户端同时连接数据库的数量就不受限制啦。顺便说一下,现在很多信息管理系统首选B/S架构,本人今年的毕业设计也准备选择这个架构,加油吧,少年!

(以下都是建立在B/S架构上的)

2、通信协议

上面说了,B/S架构会经历一道门:web服务器(还不是数据库服务器),那么开发应用程序时,总会涉及到浏览器与服务器之间的交互,过程如下:客户端浏览器--向服务器端发送请求--服务器端处理请求--服务器端返回响应结果--客户端浏览器接收响应结果(其实就相当于你上网点击一个链接,然后浏览器跳出一个你想要的页面这个过程)。其中涉及两个东西:URL地址和HTTP协议。详细后面讲

3、Web资源

Web服务器中供外界访问的资源有很多。根据呈现的效果不同分为静态资源(HTML、css、jpg等)和动态资源(jsp、Servlet等),其实也不是说静态资源就是一动不动,其中动态的意思是随着时间的推移,访问的内容会发生变化(比如每次去看火车票的数量都不一样)。

(以下大部分是动态资源的开发相关)

4、Tomcat服务器

还是Web服务器(依旧不是数据库服务器哦),其实现在早就有很多不同类型的服务器(Apache、IIS服务器)了,用于企业的、用于教学的等等,区别在我看来就是处理数据的能力不同而已(应该是我目前还见识浅薄才不知道而已)。其中tomcat是Apache下的一款轻便的、常用于web开发学习的web服务器。它不仅具有web服务器的基本功能,还提供了数据库连接池等许多组件。(为什么要有tomcat服务器?你要开发一个动态网页,总要在各大浏览器上运行看看做得怎么样了吧,那么一个网页怎么在网上运行?很简单,输入网址点击就行,也就是说你发送了一个请求,但是你要得出结果,也就是要别人给你响应,就需要有WEB服务器,并且其中已经保存了你做好的、可以给人响应的资源,这时候你才能得出你的请求结果。话说回来,这结果就是你开发的动态网页啦!)

怎么安装和使用tomcat服务器,这里就不说了。不过我可以大概说说安装好之后你的电脑里会有什么文件出现。

1)bin:用于存放tomcat的可执行文件和脚本文件,比如启动tomcat的exe文件(starup.bat)就放在里面,只要双击starup.exe就能启动tomcat

2)conf:用于存放一些配置文件,比如web.xml、server.xml(这里有个xml和HTML语言的区别,xml语言是用来描述数据的性质和结构,HTML语言是用来显示数据的)

3)lib:用于存放jar包

4)logs:用于存放tomcat的日志文件

5)temp:临时文件

6)webapps:web应用程序(就是web服务器上运行的web资源,就是你开发的页面文件)的主要发布目录放在这,也就是说开发的web文件在这里,当浏览器用户请求的时候,就是请求这里的文件资源。同时需要注意的一点是:放在webapps目录下的web应用可以直接被外界访问。简单地说,你现在在地址栏点击http://127.0.0.1:8080(默认端口号是8080)进入网页看到一只猫,就表示已经成功启动tomcat,这时表示已经在webapps的目录中啦,那么如果你在webapps中放入你开发的网页,比如welcome.jsp,这时候你要打开你开发的网页只要在服务器的前提下进入网页就得到正确地址:http://127.0.0.1:8080/welcome.jsp    那么,可以更改地址么?可以,且看下文

7)work:工作目录

5、配置Web应用虚拟目录

不满意你开发的一个网页的地址,想改?OK,配置一个虚拟目录(因为你实际上不是把文件放在这个目录下(还是在webapps下),所以这个时候的目录叫做虚拟目录)

1)在server.xml文件中配置虚拟目录(上面说了,xml文件就是用来描述数据的性质和结构的,不是用来显示的)

用记事本格式打开server.xml文件,然后添加代码如下:

<Host>中加上<Context path="/文件名" docBase="d:\文件名"  />   其中文件名就是指你要一打开服务器就出现的开始目录,也就是你把webapps的位置占走了

注意,保存好文件后要重启tomcat才能生效

这篇先结束,下篇再走起

菜菜菜鸟学习之JavaWeb 入门1(自己的学习理解,不对之处请大神们多多指教啊)的更多相关文章

  1. 安装虚拟机以及学习Linux基础入门

    安装虚拟机 参考基于VirtualBox虚拟机安装Ubuntu图文教程完成了虚拟机的安装,主要遇到了以下2个问题 在新建虚拟电脑的时候,如果类型选择了Linux,则版本就只能选择Ubuntu(32 位 ...

  2. JMeter学习-004-WEB脚本入门实战

    此文为 JMeter 入门实战实例.我是 JMeter 初学菜鸟一个,因而此文适合 JMeter 初学者参阅.同时,因本人知识有限,若文中存在不足的地方,敬请大神不吝指正,非常感谢! 闲话少述,话归正 ...

  3. java学习路线-从入门到入土

    以下是个人学习路线,资源等我找到了 share,如果没找到请自行百度: 1.javase 观看 毕向东的 javase ,主要是老毕口才略屌,听着不容易打瞌睡,冷不丁吓你一大跳 老毕的年代久远,我已经 ...

  4. Java工程师学习指南(入门篇)

    Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...

  5. JavaWeb入门——在Linux环境下安装Tomcat服务器

    JavaWeb入门——在Linux环境下安装Tomcat服务器 摘要:本文主要学习了如何在Linux环境下安装Tomcat服务器. 准备工作 检查Java环境变量 检查系统是否配置了Java的环境变量 ...

  6. JavaWeb入门——在Windows环境下安装Tomcat服务器

    JavaWeb入门——在Windows环境下安装Tomcat服务器 摘要:本文主要学习如何在Windows环境中下载并安装Tomcat服务器. 下载 获取安装包 推荐去官网上下载Tomcat: htt ...

  7. 从零开始学习jQuery (一) 入门篇

    本系列文章导航 从零开始学习jQuery (一) 入门篇 一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些 ...

  8. Java入门-浅析Java学习从入门到精通【转】

    一. JDK (Java Development Kit)  JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库 ...

  9. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

随机推荐

  1. LabView中,下拉列表和枚举有什么区别?

    枚举变量只能针对无符号整型数据U32,U16,U8; 而下拉列表则可以包括扩展精度,双精度,单精度,64位.长.双字节.单字节整型以及各种无符号整型(如下图黑色部分). 下拉列表

  2. python sleep

    Python Sleep休眠函数 Python 编程中使用 time 模块可以让程序休眠,具体方法是time.sleep(秒数),其中"秒数"以秒为单位,可以是小数,0.1秒则代表 ...

  3. android 简易定时器

    定时器 1.在android 应用开发当中,很多时候都要用到定时器,而要实现定时器更多的时候要用到两个类:Timer,和TimerTask 2.API对Timer的解释是:

  4. 实现带查询功能的Combox控件

    前言 ComBox 还可以实现查询功能,通过设置 ComBox 控件的 AutoCompleteSource 属性和 AutoCompleteMode 属性,可以实现从 Combox 控件中查询已存在 ...

  5. C++成员变量、构造函数的初始化顺序 [转]

    C++成员变量.构造函数的初始化顺序 一.C++成员变量初始化 1.普通的变量:一般不考虑啥效率的情况下 可以在构造函数中进行赋值.考虑一下效率的可以再构造函数的初始化列表中进行 2.static 静 ...

  6. (剑指Offer)面试题21:包含min函数的栈

    题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. 在该栈中,调用min,push,pop的时间复杂度都是O(1) 思路: 1.除了原来的栈s,增加一个辅助栈s_min,用 ...

  7. 检测一个DOM对象是否为空

    我们时常要检测一个DOM对象是否为空. var $jObject = $('#btn'); alert($jObject ); 我们会发现,$jObject 永远不会为空.为什么呢?$ 方法查找对象, ...

  8. iepngfix.htc让PNG-24在IE6中透明的方法(转)

    add:360用的一个方法: <!--[if IE 6]> <script src="http://se.360.cn/js/DD_belatedPNG.js"& ...

  9. 浅析WINFORM工具条的重用实现

    一直以来,我都想看看别人家的工具栏重用(图1)到底是如何实现的,但在网上搜索了很久都没有找到过,即使找到一些程序,要么就是把这个工具栏写在具体的画面(图2),要么就是没有源代码的, 我在想,是否别人也 ...

  10. LVS测试小结

    RedHat5实现负载均衡 http://blog.sina.com.cn/s/blog_4e424e2101007rie.html http://www.doc88.com/p-9975618478 ...