✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:前端开发者成长之路
✨特色专栏:国学周更-心性养成之路
🥭本文内容:一文带你学透Java Servlet(纯干货建议收藏)
更多内容点击👇
Druid连接池和Apache的DBUtils使用
随着网络技术的不断发展,单机的软件程序不足以满足网络计算的需求。为此,各种各样的网络程序开发体系结构应运而生,这当中,运用最多的网络应用程序开发体系结构主要分为两种:一种是基于浏览器/服务器的B/S结构;另外一种是基于客户端/服务器的C/S结构。
(1)C/S(Client/Server,客户端/服务器)体系结构由美国Borland公司最早研发。
(2)特点:必须在客户端(用户设备上)安装特定的软件。
(3)优点:图像效果显示比较好(比如:3D游戏)。
(4)缺点:服务器的软件和功能进行升级,客户端也必须升级,否则使用不了新的功能,不利于维护。
(5)常见的C/S体系结构程序:QQ、微信等。
(1)B/S(Bowser/Server,浏览器/服务器)体系结构由美国微软公司研发。
(2)特点:只需要一个浏览器通过http协议就可以访问,不需要在客户端(用户设备上)安装特定的软件。
(3)优点:服务功能的升级只需要升级服务器端,浏览器中不需要做任何升级操作。
(4)缺点:图形显示效果不如C/S体系结构。
(5)常见的B/S体系结构:淘宝、京东、支付宝等。
(1)Web(World Wide Web)称为万维网,简单理解就是一个网站,它是Internet主机上提供给外界访问的资源、
(2)Internet上提供给外界访问的资源大体上分为两种,即静态资源(静态网站)和动态资源(动态网站)。
静态资源:指Web页面中提供给用户浏览的数据是固定不变的,页面使用HTML+CSS实现。
动态资源:指Web页面中提供给用户浏览的数据是由程序产生的,具有交互性(交互性是指网页可以根据用户的要求动态改变或响应),内容可以自动更新,并且内容会根据访问的时间和访问者而改变,甚至不同设备访问Web页面看到的内容也各不相同。页面使用Servlet+JSP等技术实现。
(3)Java Web是用Java技术来解决Web领域的相关技术的总和。Web包括Web服务器和Web客户端两部分。
Web服务器发布Web应用、运行Web应用的容器。只有将开发好的Web项目部署在Web服务器中,才能使网络中的用户通过浏览器来访问Web应用。Web服务器的主要功能就是提供网上信息浏览服务。
开源的Web服务器:
1)Tomcat(主流Web服务器之一,非常适合初学者学习)。
2)jetty(淘宝使用,运行效率比Tomcat高)。
3)resin(新浪使用,所有开源服务器软件中,运行效率最高的)。
上面三个的用法从代码角度看完全相同,只是在开启、关闭服务软件时用的命令稍微有点区别。
收费的Web服务器:
1)WebLogic,Oracle公司开发的。
2)WebSphere,IBM公司开发的。
收费的Web服务器提供相应的服务与支持,软件比较大,资源消耗大。
(1)Tomcat是Apache基金会开发的一个小型的轻量级应用服务器,技术先进,性能稳定,而且是免费的,占用系统资源小,运行速度快。
(2)Tomcat是一个运行Servlet和JSP Web应用软件。基于Java的Web应用软件容器。Tomcat Server是根据Servlet和JSP规范运行的,因此可以说Tomcat Server也实行了Apache规范,且比绝大多数商业应用软件服务器要好。
进入Tomcat官网下载(https://tomcat.apache.org/),其安装文件有多种格式,其中zip文件是Windows系统下的压缩版本。
Tomcat无需安装,只需要将压缩包下载后,将其解压到一个文件夹中就可以使用。
注意:
1)文件夹名称中不要特殊符号。
2)文件夹名称中不要包含中文字符。
3)不建议将Tomcat解压放在磁盘层次很多的文件夹中
Tomcat压缩包解压后,其中的各个子文件夹说明如下:
文件夹 | 作用 | 说明 |
---|---|---|
bin | 存放启动和关闭Tomcat的可执行脚本文件 | startup.bat启动Tomcat shutdown.bat停止Tomcat |
conf | 存放Tomact服务器的各种配置文件 | 这是一个非常重要的目录,这个目录下的server.xml文件和web.xml文件最重要。 server.xml:配置整个服务器信息,例如修改端口号,设置编码格式等。 web.xml:项目部署描述文件,这个文件中注册了很多MIME类型,即文档类型 |
lib | 存放Tomcat服务器的支撑jar包 | Tomcat的类库,里面存放Tomcat运行时所需要的jar文件 |
logs | 存放Tomcat的日志文件 | 该文件中记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,异常也会记录在日志文件中 |
temp | 存放Tomcat运行时产生的临时文件 | 这个目录下的东西在停止Tomcat后删除 |
webapps | 存放各种Web应用 | 存放Web项目的目录,其中每个文件夹都是一个项目,其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。 |
work | Tomcat的工作目录 | 运行时生成的文件,最终运行的文件都在这个文件夹中。当客户端用户访问一个jsp文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java文件和class文件都会存放在这个目录下 |
进入Tomcat服务器的安装目录bin文件中,双击startup.bat启动程序,出现如下界面。
打开浏览器中,在地址栏中输入http://localhost:8080或者http://127.0.0.1:8080回车,会出现Tomcat的访问页面。说明Tomcat服务器启动成功。
双击shutdown.bat即可关闭Tomcat启动窗口。
8080是Tomcat默认的端口,有时候可能会被占用,这时可以通过conf文件夹下的server.xml文件修改端口号,已解决端口号冲突的问题。端口号修改完之后,要重新启动Tomcat并在浏览器的地址栏中使用新的端口号访问Tomcat服务器。
Tomcat是Web服务器,是一个容器(依然可以理解为装数据的容器),我们开发的项目应用需要部署在webapps文件夹下面,然后启动Tomcat服务器,在浏览器中通过特定的URL访问Web项目的页面。
1)在webapps中建立项目文件夹,例如,webProject01
2)在webProject01文件中创建WEB-INF文件夹,存放项目的核心内容
3)在WEB-INF文件夹中,创建如下文件夹和文件:
–>创建classes文件夹,存放.class文件
–>创建lib文件夹,存放jar文件
–>创建web.xml项目配置文件(这个文件可以到ROOT项目向的WEB-INF中复制)
4)把你编写的helloTomcat.html页面复制到webProject01文件夹中,webProject01页面与WEB-INF在同级目录。
打开浏览器,在浏览器地址栏中输入URL:http://localhost:8080/webProject01/helloTomcat.html,回车,即可访问
闪退的问题是由JAVA_HOME配置导致的,检查JAVA_HOME配置是否正确。
出现404问题是因为访问资源不存在,也就是访问路径不对(文件名不对)。
出现500问题是服务器端的问题,一般是程序逻辑有问题。
1)Servlet:Server Applet的简称,是运行在Web服务器端的Java程序,可交互式的处理客户端发送到服务器端的请求,并完成响应操作,它使用Java语言编写。
2)Servlet可实现动态网页。
3)Servlet是JavaWeb开发程序的基础,是一个标准,由SUN定义,具体细节由Servlet容器进行实现,如Tomact、JBoss等。Servlet是JavaEE规范(一套接口)的一个组成部分。
Java Servlet 通常情况下与使用 CGI(Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果。但是相比于 CGI,Servlet 有以下几点优势:
1)性能明显更好。
2)Servlet 在 Web 服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。
3)Servlet 是独立于平台的,因为它们是用 Java 编写的。
4)服务器上的 Java 安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet 是可信的。
5)Java 类库的全部功能对 Servlet 来说都是可用的。它可以通过 sockets 和 RMI 机制与 applets、数据库或其他软件进行交互。
1)接收客户端请求,完成相关操作
2)动态生成网页(页面数据可变,不同用户页面数据不同)
3)将包含操作结果的动态网页响应给客户端。
将Tomcat安装路径下lib文件夹中与Servlet相关的jar包(lib\servlet-api.jar)配置到classpath环境变量中。
1)在webapps中建立项目文件夹,例如,webProject02
2)在webProject02文件中创建WEB-INF文件夹,存放项目的核心内容
3)在WEB-INF文件夹中,创建如下文件夹和文件:
–>创建classes文件夹,存放.class文件
–>创建lib文件夹,存放jar文件
–>创建web.xml项目配置文件(这个文件可以到ROOT项目向的WEB-INF中复制)
4)在classes中创建类的包文件夹,在文件夹中通过实现java.servlet.Servlet接口的方式编写MyServlet类。重写java.servlet.Servlet接口中的方法,在重写的核心方法service()中编写输出语句,打印访问结果。
package com.cxyzxc.www.servlet01;import java.io.IOException;
import java.util.Date;import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class Servlet01 implements Servlet{@Overridepublic void destroy() {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic String getServletInfo() {return null;}@Overridepublic void init(ServletConfig arg0) throws ServletException {}@Overridepublic void service(ServletRequest arg0, ServletResponse arg1)throws ServletException, IOException {System.out.println("My First Servlet!Very Good!");}
}
1)编译Servlet01.java文件,生成Servlet01.class字节码文件
2)将Servlet01.class文件放在Web项目的WEB-INF文件里的classes文件夹中
编写WEB-INF文件夹中的项目配置文件web.xml。
MyServlet com.cxyzxc.www.servlet01.Servlet01
MyServlet /hello
1)启动Tomcat
2)打开浏览器,在浏览器地址栏中输入http://localhost:8080/webProject02/hello,可以在Tomcat窗口中看到输出“My First Servlet!Very Good!”内容。
1、打开IDEA,单击“New Project”或者通过File–>new–>Project,在弹出的对话框中输入项目名称,其它的默认选择,点击finish按钮
2、为项目添加Web框架支持,右键单击创建的项目,点击Add Framework Support,在弹出的对话框中勾选Web Application(4.0)及Create web.xml复选框,单击“OK”按钮,完成添加。
3、添加依赖包,右键单击WEB-INF文件夹,在弹出的对话框中选择New–>Directory命令,创建lib文件夹,将Tomcat安装目录下lib文件夹中的servlet-api.jar文件添加到lib文件夹中。
4、在servlet-api.jar文件上右击鼠标,选择Add As Library,将jar包添加到Library中
1、在src上右击鼠标–>new–>package–>输入com.cxyzxc.www.servlet01包名(包名你可以自己取)–>回车
2、在包上右击鼠标–>new–>Java Class–>输入ServletDemo01类名–>回车
3、编写ServletDemo01t类,实现Servlet接口,重写接口中的5个方法,在service()方法中输出内容
package com.cxyzxc.www.servlet01;import javax.servlet.*;
import java.io.IOException;public class ServletDemo01 implements Servlet {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("IDEA中的第一个Servlet案例");}@Overridepublic String getServletInfo() {return null;}@Overridepublic void destroy() {}
}
4、编译ServletDemo01.java文件,生成ServletDemo01.class文件。在软件上面点击Build–>Build Project,等待片刻,生成out文件夹,里面包含编译后的class文件
5、编写web.xml配置文件
ServletDemo01 com.cxyzxc.www.servlet01.ServletDemo01 ServletDemo01 /demo01
1)在Tomcat服务器的webapps文件中,创建一个项目文件夹,例如webProject03
2)将IDEA软件中WEB-INF文件夹整体复制到webProject03文件夹中
3)在WEB-INF文件夹中创建classes文件夹,将编译后生成的ServletDemo01.class文件所在的文件夹一起复制到classes文件夹中
4)启动Tomcat服务器,打开浏览器,在浏览器地址栏中输入http://localhost:8080/webProject03/demo01,可以在Tomcat窗口中看到输出“IDEA中的第一个Servlet案例”内容。
上述操作中,虽然是在IDEA软件中完成了Servlet代码的编写以及编译,但是还需要手动将WEB-INF文件夹复制到Tomcat的项目文件夹中去,并需要手动在WEB-INF文件中创建classes文件夹,然后将IDEA中编译后的class文件复制到classes文件夹中,比较麻烦。另外,当你的Java文件改变后,你需要重新编译java文件生成class文件,然后再将class文件复制到classes文件夹中,再重新启动Tomcat服务器才能访问资源,非常的麻烦。所以,我们可以在IDEA中集成Tomact服务器,实现自动部署。
1、 点击File–>Settings…
2、选择双击Build,Execution,Deployment–>Application Servers,点击+号,选择Tomcat Server
3、选择Tomcat服务器的安装路径,点击ok,Tomcat服务器就集成到IDEA中了
4、再次点击File–>Settings…–>Build,Execution,Deployment–>Application Servers,点击+号,选择Tomcat Server,可以看到Tomcat服务器在IDEA中
码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识,点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。