JavaWeb学习总结第一篇--初识JavaWeb
JavaWeb学习总结(一)-- 初识JavaWeb
一:Web相关概念
Web程序也就是一般所说的网站,由服务器、客户端浏览器和网络组成。Web程序的好处就是使用简单,不需要安装、学习,有一台电脑、一根网线就可以使用。
1:应用程序的两种模式:B/S和C/S
C/S是客户端(Client)/服务器端(Server)应用程序,也就是说这种应用程序一般独立运行。而B/S就是浏览器端(Browser)/服务器端(Server)应用程序,这种应用程序一般借用IE、火狐等浏览器来运行。Web应用程序一般是B/S模式。
2:Web开发背景知识
在学习Web开发之前,我们必须了解Web开发相关的背景知识和Web程序工作原理。我们在平时访问网页的时候,浏览器和服务器都发生了什么变化,网站是怎么实现请求和响应功能的呢?下面我简要阐述一下浏览器访问服务器的整个流程。
(1)用户打开本地计算机上的浏览器(IE,360,火狐等),输入要访问的网站URL地址,这个地址告诉Web服务器我们要访问哪一台主机。
(2)浏览器寻找到指定的主机之后,向Web服务器发出请求。
(3)Web服务器得到请求之后,做出相应的处理,生成处理结果后返回给浏览器。
(4)浏览器得到返回结果之后,在浏览器中显示响应的结果,也就是我们常看到的页面。
二:JavaWeb开发环境
我们在搭建JavaWeb开发环境时,首先需要安装开发工具包JDK、Web服务器、数据库和IDE(集成开发环境),下面,简单介绍一下这几样工具。
1.开发工具包JDK
一种用于构建在Java平台上发布的应用程序、Applet和组件的开发环境,它提供了编写Java程序和运行Java程序的环境。简单的说,就是如果你要开发Java程序,必须使用JDK。
JDK中主要的文件夹:
bin : 提供JDK工具程序
db : JDK附带的一个轻量级的数据库
include : 存放用于本地方法的文件
lib : 存放Java的类库文件
jre : 存放Java运行环境文件
JDK中主要的可执行程序:
javac :Java编译器,将Java代码转换成字节码
java :Java解释器,直接从类文件执行Java应用程序字节代码。
jdb : Java调试器,可以逐行执行程序和检查变量。
javah : 产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件
2 Web服务器
Web服务器是在网络中为实现信息发布、资料查询和数据处理等诸多应用而搭建基本平台的服务器,只有将开发的Web应用放置到其中,才能使网络中的所有用户通过浏览器访问。最常见的Web服务器就是Tomcat服务器。
Web服务器的工作流程:
(1)Web浏览器向一个特定的Web服务器发送一个Web页面请求。
(2)Web服务器收到Web页面请求后,执行相应的功能。
(3)将用户请求的结果以Web页面的方式发送给用户的Web浏览器。
3 数据库
开发动态网站时数据库是必不可少的,顾名思义,数据库主要用来保存网站中的信息。常见的数据库有Oracle(适用于大型网站)、SQL Server或者MySQL(适用于中型网站)和Access(适用于小型网站)。
4 集成开发环境IDE
JavaWeb程序开发的IDE比较常见的有:Eclipse、MyEclipse和IntelliJ IDEA。
三:Tomcat服务器简介
在JavaWeb中,Web应用需要Web服务器的支持。Tomcat具有免费和跨平台的特性,所以成为了JavaWeb学习开发的首选。


Tomcat目录中的各个文件夹:
bin : 存放各个平台下启动和关闭Tomcat的脚本文件,其中两个很重要的文件是startup.bat和shutdown.bat,前者是Windows环境下启动Tomcat的文件,后者是Windows环境下关闭Tomcat的文件
conf : Tomcat的配置文件,如server.xml和web.xml等
lib : 存放Tomcat和所有Web应用都能访问的JAR文件
logs : 存放Tomcat的日志文件
work :Tomcat解析JSP生成的Servlet文件放在这个目录中
四:JavaWeb
说了这么多,JavaWeb到底是什么呢?JavaWeb,是用Java技术来解决Web领域相关问题的技术总称。Java在Web服务器端的应用非常的广泛丰富,比如JSP,Servlet和第三方框架等。
现在,JavaWeb需要的工具有了,在安装配置完成之后,我们就可以用我们的双手来敲出美妙的JavaWeb程序了。加油!
JavaWeb学习总结第一篇--初识JavaWeb的更多相关文章
- 我们一起学习WCF 第一篇初识WCF(附源码供对照学习)
前言:去年由于工作需要我学习了wcf的相关知识,初期对wcf的作用以及为何用怎么样都是一知半解,也许现在也不是非常的清晰.但是通过项目对wcf的运用在脑海里面也算有了初步的模型.今天我就把我从开始wc ...
- Spring学习笔记第一篇——初识Spring
1.简单介绍 spring的ioc底层是先配置xml文件,接着创建工厂,利用dom4j解析配置文件,最后通过反射完成.大概步骤差不多这样,这些具体代码spring帮你完成了.现在我们只需要配置xml和 ...
- JavaWeb学习总结第二篇--第一个JavaWeb程序
JavaWeb学习总结第二篇—第一个JavaWeb程序 最近我在学院工作室学习并加入到研究生的项目中,在学长学姐的带领下,进入项目实践中,为该项目实现一个框架(用已有框架进行改写).于是我在这里记录下 ...
- 深入理解javascript对象系列第一篇——初识对象
× 目录 [1]定义 [2]创建 [3]组成[4]引用[5]方法 前面的话 javascript中的难点是函数.对象和继承,前面已经介绍过函数系列.从本系列开始介绍对象部分,本文是该系列的第一篇——初 ...
- RabbitMQ学习总结 第一篇:理论篇
目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...
- 学习KnockOut第一篇之Hello World
学习KnockOut第一篇之Hello World 笔者刚开始学习KnockOut.写的内容就相当于一个学习笔记.且在此处向官网致敬,比较喜欢他们家的Live Example版块,里面有jsFiddl ...
- ActionBarSherlock学习笔记 第一篇——部署
ActionBarSherlock学习笔记 第一篇--部署 ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...
- JavaWeb学习总结(一)JavaWeb开发入门
静态网页和动态网页 静态网页:在服务器上没有经过服务器解释执行的网页. 动态网页:在服务器上经过服务器解释执行的网页. 无论是静态网页还是动态网页,客户端看到的网页都是由HTML所构成的,所以Java ...
- 小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式:
小白学习VUE第一篇文章---如何看懂网上搜索到的VUE代码或文章---使用VUE的三种模式: 直接引用VUE; 将vue.js下载到本地后本目录下使用; 安装Node环境下使用; ant-desig ...
随机推荐
- eclipse去除所有调试断点 (转)
今天调试的时候发现之前加了太多断点,想去除所有断点,才想起来一直都没有使用过这个功能,放狗搜了一下,很快找到,记录一下. 方法一: 在工作界面,点window菜单栏,选中Preperences,在Ge ...
- 汉化CodeBlock
codeblock最新版本发布了,但是对一些看不惯英文的来说,还是中文好点. 一.准备工作,先下载codeblock最新版,可以从官方下载,也可以从http://www.uzzf.com/soft/1 ...
- 64位linux 汇编
c源码:testg.c 1 #include<stdio.h> 2 3 #define s ...
- [Oracle] 临时将Physical Standby激活
Oracle 10g/11g下如何将物理Standby库临时激活用于测试 在实际运营环境中, 我们经常碰到类似这样的需求: 譬如想不影响现网业务评估DB补丁在现网环境中运行的时间, 或者是想在做DB切 ...
- 《HelloGitHub》第 38 期
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...
- Hadoop1和Hadoop2的区别是什么?
[学习笔记] Hadoop1和Hadoop2的区别是什么?马 克-to-win @ 马克java社区:原来的Hadoop1的Mapreduce又管资源管理,又管数据处理和计算.而Hadoop2中的Ma ...
- js 拦截全局 ajax 请求
你是否有过下面的需求:需要给所有ajax请求添加统一签名.需要统计某个接口被请求的次数.需要限制http请求的方法必须为get或post.需要分析别人网络协议等等,那么如何做?想想,如果能够拦截所有a ...
- 轻松加减你的NSDate值
废话不多,先上github链接:https://github.com/codegefluester/CGFDateModifier 然后上使用方法代码: NSDate *oneWeekFromNow ...
- python pandas相关知识点(练习)
首先引入库文件,并进行数据读取 import pandas as pd import numpy as np data_Base=pd.read_csv("D:\\Exam_Test\\un ...
- java.sql.Timestamp类型
如果想向数据库中插入日期时间的话,可以用java.sql.Timestamp类 一个与 java.util.Date类有关的瘦包装器 (thin wrapper),它允许 JDBC API 将该类标识 ...