菜菜菜鸟学习之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 ...
随机推荐
- ThinkPad X220i 刷白名单BIOS,改装第三方无线网卡
ThinkPad X220i自带的网卡是REALTEK RTL8188CE,这张卡在Mac下目前是无解的.国外网站有该卡liunx.unix内核的驱动,但还是没有高人编译出来. 不等了,这卡没戏.正好 ...
- emWin(ucGui)的Edit控件退格处理方法 worldsing
在enWin(ucGui)中EDIT控件在数值模式(十进制/十六进制/二进制/浮点数)下编辑是,无法使用BackSpace键进行退格,主要涉及到的函数有: EDIT_SetBinMode() EDIT ...
- 关于dll的路径问题
最近在做一个sdk二次开发的项目,具体是将一个C++开发的SDk用C#将它的API接口全部封装一遍,然后再做一个demo就好了 好不容易封装完了,在使用的时候出了问题.原来SDK中的dll老是加载不到 ...
- MFC中消息响应机制
由于视类窗口始终覆盖在框架类窗口之上,因此所有操作,包括鼠标单击.鼠标移动等操作都只能由视类窗口捕获.一个MFC消息响应函数在程序中有三处相关信息:函数原型.函数实现和以及用来关联消息和消息响应函数的 ...
- STL容器set()--->自定义数据类型
set容器中不能插入重复的元素,需要其插入的元素有比较大小(<).相等(==) 的逻辑判断,这是因为set中的元素是有序排列, 默认从小到大排列 std::set<type,std::le ...
- js 对象与函数的区别
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Active Low-Pass Filter Design 低通滤波器设计
2nd order RC Low-pass Filter Center frequency fc = 23405.13869[Hz] Q factor Q = ...
- 博客中最快捷的公式显示方式:Mathjax + Lyx
经常为在博客园中显示公式而烦恼的同志们看过来!! 什么是mathjax? 答:就是在web中显示公式用的,基于JavaScript写的,关键是开源,网址http://www.mathjax.org/, ...
- [每日一题] OCP1z0-047 :2013-08-06 外表部――相关描述
这道题目的知识点是要你熟悉外部表,怎么建外部表,外部表的数据是怎么存储的等等.请给出正确答案,并解释A B C D每项,最好用实验测试证明! 外部表的metadata(元数据)是存在数据库中,但它的数 ...
- POJ 2309 BST 树状数组基本操作
Description Consider an infinite full binary search tree (see the figure below), the numbers in the ...