JavaWeb开发技术 /// Tomcate是什么 /// JSP是什么 /// Idea部署tomcat步骤 /// 重定向和转发的区别

1、Tomcat是什么? 有什么作用

1.1 Tomcat介绍

Tomcat一种web服务器。Tomacat是由Apache推出的一款免费开源的Servlet容器,可实现JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的一款环境。

Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,在处理静态Html上的能力略逊一筹。

Tomcat运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,因而深受java爱好者的喜爱,并得到了部分软件开发商的认可,和Apache一样,早已成为主流Web服务器的一种。

2.2 Tomcat VS Apache

不过在实际使用过程中,Apache和Tomcat的侧重各有不同:

Apache是Web服务器,侧重于HTTP Server,但本身只支持Html静态网页,对ASP、PHP、JSP等动态网页就不行。
Tomcat是应用(Java)服务器,可以认为是Apache的扩展,但它可以独立于Apache运行,支持JSP和Servlet。
Apache可以单向连接Tomcat,访问Tomcat资源,反之则不行,但它们可在一台服务器上进行集成。

3.3 形象的对比

打个比方:Apache是一辆卡车,上面可以装一些东西如html,但是不能装水,要装水必须要有容器(桶),Tomcat就是一个桶(装像Java这样的水),而这个桶也可以不放在卡车上。

集成协作 动静皆宜

作为小型轻量级应用服务器,Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用,但它不像Apache一样可配置,而Apache只支持静态网页,像ASP、PHP、JS等动态网页也需要Tomcat来处理。

因此,人们通常将Apache和Tomcat集成到一起:**如果客户端请求的是静态页面,则只需要Apache服务器响应请求;如果客户端请求动态页面,则是Tomcat服务器响应请求;**因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销。

2、JSP简介

2.1 什么是Java Server Pages?

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

2.2 为什么使用JSP?

JSP程序与CGI程序有着相似的功能,但和CGI程序相比,JSP程序有如下优势:

性能更加优越,因为JSP可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件。
服务器调用的是已经编译好的JSP文件,而不像CGI/Perl那样必须先载入解释器和目标脚本。
JSP 基于Java Servlet API,因此,JSP拥有各种强大的企业级Java API,包括JDBC,JNDI,EJB,JAXP等等。
JSP页面可以与处理业务逻辑的 Servlet 一起使用,这种模式被Java servlet 模板引擎所支持。
最后,JSP是Java EE不可或缺的一部分,是一个完整的企业级应用平台。这意味着JSP可以用最简单的方式来实现最复杂的应用。

2.3 JSP的优势

以下列出了使用JSP带来的其他好处:

与ASP相比:JSP有两大优势。首先,动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用。第二点就是JSP易于移植到非MS平台上。
与纯 Servlet 相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。
与SSI相比:SSI无法使用表单数据、无法进行数据库链接。
与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。
与静态HTML相比:静态HTML不包含动态信息。

3、Web简介与开发环境搭建

3.1 Web应用程序的工作原理

大多数的Web应用程序结构都是采用最为流行的B/S软件开发体系结构,将Web应用程序部署在Web服务器上,只要Web服务器启动,用户就可以通过客户端浏览器发送HTTP请求到Web服务器,此时运行在Web服务器上对应的Web应用程序将处理客户端请求,处理完成后做出响应。

3.2 Web应用开发技术

**静态页面:**类似于HTML这种单纯的客户端页面,在每次访问的时候得到的信息都是相同的吗吗,和后台没有任何交互,它是实际存在的,无需经过服务器的编译,直接加载到客户浏览器上显示出来。我们称之为静态页面。

**动态页面:**相对静态页面,显示的内容可以随着时间、环境或者数据库操作的结果而发生改变的。我们称之为动态页面。
在这里插入图片描述

3.3 Web服务器是什么?几种常见的Web服务器

进行Java Web开发环境的搭建,首先我们需要了解下Web服务器。
WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务,Web服务器可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求Web服务器可以响应一个静态页面或图片,进行页面跳转或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSP脚本,servlets,ASP脚本,服务器端JavaScript,或者一些其它的服务器端技术。

几种常见的Web服务器:
Resin
Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发。
JBoss
是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
WebSphere
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。
WebLogic
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
Tomcat
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

3.4 安装与配置 Tomcat

Java web开发首先我们需要配置web服务器,这样我们才能通过web服务器部署发布web项目,才可以进行访问,这里选择Tomcat作为web服务器,Tomcat基于运行基于Jre环境,因此我们在配置Tomcat 之前需要配置Java环境。

1.Tomcat是免费的开源软件,可在直接在官方网站下载。
http://tomcat.apache.org/

2.选择版本后可以在下方进行下载,可以选择下载安装版或者解压版,这里选择了解压版
tar.gz文件是Linux操作系统下的安装版本
exe文件是Windows系统下的安装版本
zip文件是Windows系统下的压缩版本

enter image description here

3.下载完成后解压缩,得到Tomcat目录,

4.配置环境变量
在这里插入图片描述
在这里插入图片描述
5.在cmd中输入 startup.bat 启动tomcat
6.Tomcat访问测试
浏览器访问http://localhost:8080 进行测试

4、Web项目开发

4.1 Idea中Tomcat相关配置设置:

1.Tomcat目录地址:
D:\Softs\apache-tomcat-8.5.45
2.在idea中配置tomcat
File->Project Structure->Modules->+选择web->apply
点击右下角create artifact->applyS
然后回到Modules->选择项目名->选择dependencies添加依赖->Tomcat8.5.45 ok
3.配置项目Configurations
run->Edit Configurations->
On update action:当发现更新时的操作 选择Update classes and resources
On frame deactivation:当IDEA 切换时的操作 (比如最小化、打开网页等) 选择Update classes and resources
选择Deployment->选择+ Artifact ->
在这里插入图片描述

<Tomcat控制台中文乱码问题,解决办法>

1.打开你安装Tomcat的所在目录
2. 打开后选择conf目录。
将里面的logging.properties文件用编辑器打开,
打开后在50行左右找到
java.util.logging.ConsoleHandler.encoding = UTF-8
注释掉,修改为 java.util.logging.ConsoleHandler.encoding = GBK;
重新启动Tomcat就可以了。
SQL注入:
解决方法:不使用statement而使用preparedStatement

<将一个web项目打成war包>

file->project sturcture->artifacts->"+" web application:archive->选择第二个"for:xxx:war exploded"->apply ok
Build->build artifacts->选择刚才生成的xxx:war->build->在out/artifacts/xxx_war/xxx_war.war找到war包
上传war包的目录:
在虚拟机tomcat文件夹目录下->webapps文件夹
启动tomcat->bin目录下 ./startup.sh
然后浏览器访问

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、重定向和转发的区别

5.1 区别

在这里插入图片描述

5.2 概念区别

**(1)转发:**由服务器端进行的页面跳转
原理图:
在这里插入图片描述

语法规则:
在这里插入图片描述

(2)重定向:
由浏览器端进行的页面跳转

原理图:
在这里插入图片描述
语法规则:
在这里插入图片描述

5.3 使用场景

问:什么时候使用转发,什么时候使用重定向?

如果要保留请求域中的数据,使用转发,否则使用重定向。

以后访问数据库,增删改使用重定向,查询使用转发。

问:转发或重定向后续的代码是否还会运行?

无论转发或重定向后续的代码都会执行

5.4 特点

(1)重定向的特点
地址栏:显示新的地址
请求次数:2次
根目录:http://localhost:8080/ 没有项目的名字
请求域中的数据会丢失,因为是2次请求
(2)转发的特点
地址栏不发生变化,显示的是上一个页面的地址
请求次数:只有1次请求
根目录:http://localhost:8080/项目地址/,包含了项目的访问地址
请求域中数据不会丢失

猜你喜欢

转载自blog.csdn.net/qq_42005540/article/details/114372096
今日推荐