菜菜菜鸟学习之JavaWeb 入门1(自己的学习理解,不对之处请大神们多多指教啊)
一、相关基础知识
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(自己的学习理解,不对之处请大神们多多指教啊)的更多相关文章
- 安装虚拟机以及学习Linux基础入门
安装虚拟机 参考基于VirtualBox虚拟机安装Ubuntu图文教程完成了虚拟机的安装,主要遇到了以下2个问题 在新建虚拟电脑的时候,如果类型选择了Linux,则版本就只能选择Ubuntu(32 位 ...
- JMeter学习-004-WEB脚本入门实战
此文为 JMeter 入门实战实例.我是 JMeter 初学菜鸟一个,因而此文适合 JMeter 初学者参阅.同时,因本人知识有限,若文中存在不足的地方,敬请大神不吝指正,非常感谢! 闲话少述,话归正 ...
- java学习路线-从入门到入土
以下是个人学习路线,资源等我找到了 share,如果没找到请自行百度: 1.javase 观看 毕向东的 javase ,主要是老毕口才略屌,听着不容易打瞌睡,冷不丁吓你一大跳 老毕的年代久远,我已经 ...
- Java工程师学习指南(入门篇)
Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...
- JavaWeb入门——在Linux环境下安装Tomcat服务器
JavaWeb入门——在Linux环境下安装Tomcat服务器 摘要:本文主要学习了如何在Linux环境下安装Tomcat服务器. 准备工作 检查Java环境变量 检查系统是否配置了Java的环境变量 ...
- JavaWeb入门——在Windows环境下安装Tomcat服务器
JavaWeb入门——在Windows环境下安装Tomcat服务器 摘要:本文主要学习如何在Windows环境中下载并安装Tomcat服务器. 下载 获取安装包 推荐去官网上下载Tomcat: htt ...
- 从零开始学习jQuery (一) 入门篇
本系列文章导航 从零开始学习jQuery (一) 入门篇 一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些 ...
- Java入门-浅析Java学习从入门到精通【转】
一. JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库 ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
随机推荐
- hdu 1576 A/B (扩展欧几里德简单运用)
http://acm.hdu.edu.cn/showproblem.php?pid=1576 A/B Time Limit: 1000/1000 MS (Java/Others) Memory Lim ...
- 思科ASA系列防火墙配置手册
使用console连接线登录方法 1.使用cisco的console连接线,连接设备的console口和计算机com口(笔记本用USB转COM口连接线)2.使用超级终端或secureCRT软件连接设备 ...
- UVALive 6692 Lucky Number (思路 + 枚举)
题意:给你n 个数字,某一个数的幸运数是这个数前面比他小 离他最远的位置之差,求出最大幸运值. 析:先按从大到小排序,然后去维护那个最大的id,一直比较,更新最大值就好. 代码如下: #pragma ...
- HDU 5705 Clock (精度控制,暴力)
题意:给定一个开始时间和一个角度,问你下一个时刻时针和分针形成这个角度是几点. 析:反正数量很小,就可以考虑暴力了,从第一秒开始暴力,直到那个角度即可,不会超时的,数目很少,不过要注意精度. 代码如下 ...
- CF 86D Powerful array 【分块算法,n*sqrt(n)】
给定一个数列:A1, A2,……,An,定义Ks为区间(l,r)中s出现的次数. t个查询,每个查询l,r,对区间内所有a[i],求sigma(K^2*a[i]) 离线+分块 将n个数分成sqrt(n ...
- Linux下查看文件和文件夹大小的df和du命令
转自:http://www.yayu.org/look.php?id=162 当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比 ...
- Weka中EM算法详解
private void EM_Init (Instances inst) throws Exception { int i, j, k; // 由于EM算法对初始值较敏感,故选择run k mean ...
- Lucene/ElasticSearch 学习系列 (1) 为什么学,学什么,怎么学
为什么学 <What I wish I knew When I was 20>这本书给了我很多启发.作者在书中提到,Stanford 大学培养人才的目标是 ”T形人才“:精通某个领域,但对 ...
- 基于KVM的虚拟化研究及应用
引言 虚拟化技术是IBM在20世纪70年代首先应用在IBM/370大型机上,这项技术极大地提高了大型机资源利用率.随着软硬件技术的迅速发展,这项属于大型机及专利的技术开始在普通X86计算机上应用并成为 ...
- jquery 显示“加载状态 结束”
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...