Java Web基础教程(二)开发基础
前言
Java web是一种基于B\S(浏览器\服务器)架构的网络应用程序的技术实现。这种结构的Web应用程序被大量的企业级应用所采用。随着Web应用程序的规模不断扩大,传统的Web开发模式无法满足日渐复杂的业务需要,所以出现了更加合理更加先进的MVC开发模式。随之而来的也出现了一系列的基于MVC模式的开发框架,Struts框架、Spring MVC 等。
1. Web 技术的发展
1. 第一阶段 静态网站
Web技术出现伊始,由于硬件技术的限制大多数Web应用都是基于静态的HTML页面,有部分动态Web应用运行起来也是没有现在这么流畅的。静态页面只能起到信息发布的作用,它们并不具备交互能力。
2. 第二阶段 动态网站
没有交互能力的应用程序,是绝对不能流行起来的。有很多专家提出了不同的实现动态Web程序的解决方案。其中最早提出的就是通过CGI(通用网关接口),其中最重要的特点就是可以通过CGI技术访问数据库,因为几乎所有的Web应用都需要对数据进行存取。CGI技术虽然很强大,但是它也有自己的不足之处,比如实现CGI程序的技术难度比较大,代码不易维护等。
3. Servlet 实现动态网站
为了解决以上的这些历史遗留问题,Java 在1999年推出了自己的动态Web技术Servlet。
Servlet有如下技术优点
- 基于Java技术实现
- 跨平台
- 可以访问众多数据库
- 多线程
- 网络
![](https://upload-images.jianshu.io/upload_images/444972-0de798b02471b66e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
- 浏览器向服务器发送请求
- Web服务器接受请求
- 将请求提交给Servlet引擎
- Servlet引擎调用Service方法
- 返回响应给客户端(相应的代码)
Servlet是整个JavaWeb技术的核心,也就是说Servlet可以实现全部的动态JavaWeb程序的功能。但是如果客户端页面的逻辑非常复杂的话,编写Servlet的工作量是非常大的,而且代码不易维护。
4. JSP的出现
为了解决这个问题实现页面显示代码编写与控制逻辑代码编写的分离,JSP技术就这样诞生了。
JSP技术可以在同一个页面中将客户端代码与服务端代码进行混合编程,可以直接使用Java代码作为服务端脚本。
sun公司为了充分利用已有的Servlet技术,在第一次访问JSP页面时,JSP页面会被JSP引擎翻译成Servlet,然后再交由Servlet引擎来进行处理。
![](https://upload-images.jianshu.io/upload_images/444972-a2cc3417795d1963.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
2. Java Web 技术
1. Java Web 的基本构成
一个典型的Java web程序中应该包含以下元素,将它们打包在一起,并在Web容器中运行。
- Servlet
- Java Server Pages
- JSP标准标签(JSTL)和定制标签
- 在Web应用程序中使用的Java类
- 静态的文件,包括HTML、图像、JavaScript和CSS
- 描述Web应用程序的元信息(web.xml)
2. Java Web 的目录结构
![](https://upload-images.jianshu.io/upload_images/444972-942a39ccb1e2c0c1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/534)
- untitled3 是这个工程的根目录
- web 目录下存放资源文件 例如 图片目录、CSS目录、JS目录、jsp文件等
- WEB-INF 目录下 存放 工程的配置文件 web.xml 和 lib 库文件
3. Java Web 的配置文件
配置文件是所有Java web应用程序的支柱。我们这里介绍的文件主要是位于WEB-INF目录下的web.xml文件。除此之外在Tomcat\conf目录下也有一个web.xml文件,这个文件是对于Tomcat服务器的配置文件,一种全局的配置。
配置文件可以进行如下的相关配置
推荐阅读
- 微信点餐之消息推送(13)
- 第七章第二节:安装nodejs及搭建前台脚手架(renren-fast-vue)
- 使用logback需要导入的jar包
- 生成数据库文档 —— Spring Boot + Screw
- SSM框架 拦截器 出现“发现了以元素 'mvc:exclude-mapping' 开头的无效内容。应以 '{"http://www.springframework.org/schema/mvc":mapping}' 之一开头”错误
- 创建maven项目时,IntelliJ IDEA2019出现:Unable to import maven project: See logs for details 报错
- (转)Linux下解压:tar、rar、7z命令
- ubuntu 网络设置
- uboot——官网下载直接移植(一)
- uboot移植——使用三星移植好的uboot开始移植