Servlet快速入门:第一个Servlet程序

Servlet是整个JavaWeb开发的核心,同时也是一套规范,即公共接口。用于处理客户端发来的请求并作出响应。通常情况下我们会发送不同的请求并交由不同的处理程序来处理,例如处理用户信息和处理订单信息的程序是不同的。而这些处理程序则必须实现这套规范才能接收请求并作出响应。这套规范本身并不由Java提供,需要引入额外的Jar包,这些包存在于Tomcat中,编写的Servlet程序也需要承载在Tomcat上才可以运行。

一个Servlet程序

  • 通过IDEA创建一个Web Application
  • 填写项目名称和项目的存储位置
  • 创建后的结构如图所示
  • 这便是一个标准的Java Web开发结构,下面我们来编写代码实现一个Servlet程序,我们在src下创建一个 QuickStartServlet.java,并编写如下的代码
  • 配置 WEB-INF 下的 web.xml 文件,如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <display-name>my first servlet application</display-name>

    <servlet>
        <servlet-name>QuickStart</servlet-name>
        <servlet-class>QuickStartServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>QuickStart</servlet-name>
        <url-pattern>/quick-start</url-pattern>
    </servlet-mapping>

</web-app>

配置 Servlet 程序的运行环境

  • 配置 Modules, 打开 Setting / Project Structure / Modules

    点击 Apply 之后,会发现我们的程序不在找不到Jar 包 " javax.servlet "
  • 配置 Artifacts,并配置项目的输出目录为Tomcat的webapps下
  • 配置运行配置相关信息 - Server 选项卡
  • 配置运行配置相关信息 - Deployment 选项卡
  • 配置运行配置相关信息 - Startup/Connection选项卡
  • 配置成功后如下图所示
  • 点击运行按钮,并且访问 http://localhost:8080/FirstServlet/quick-start 在控制台即可看到该输出
  • 我们在 C:\WorkSpace\apache-tomcat-9.0.26\webapps\FirstServlet 下即可查看到发布到Tomcat上的内容

Http请求是如何找到对应的Servlet处理程序的

首次请求 http://localhost:8080/FirstServlet/quick-start 的过程大致如下:

  • 请求到达我们的服务器(暂且忽略如何根据域名找到服务器的过程)发现8080端口正在被Tomcat监听
  • 请求交由Tomcat处理,Tomcat解析 /FirstServlet/quick-start片段
  • Tomcat 发现 /FirstServlet 访问的是 webapps下的 FirstServlet 工程
  • 在 FirstServlet 中,继续解析剩余片段 /quick-start,Tomcat找到Web.xml,根据我们配置的路由规则,匹配到了 QuickStartServlet 处理程序
  • 创建 QuickStartServlet 实例,并调用 public void init(ServletConfig servletConfig) throws ServletException 方法(在后续请求中不会再调用,可以通过在Web.xml中配置改变调用时机。默认情况下是在创建实例的时候被调用,在后续章节中会有说明)
  • 调用 public void service(ServletRequest servletRequest, ServletResponse servletResponse) 方法,并在控制打印内容 hello world!

总结

本小节通过一个简单的示例来快速体验了Servlet程序的搭建流程,这只是写本篇的目的之一。还有一个目的就是明确Servlet是什么,由于Java Web的开发框架和技术繁多,在刚开始接触的时候难免会有些头晕,搞不清楚概念或名词之间的关联性,对于Java Web该从何学起更是一头雾水,本篇借由这个简单的示例也让你对Servlet有个初步的印象,为以后学习Java Web 打下基础。当然本篇只是个入门,能够获取的知识有限,后续还会有更多的进阶内容,敬请期待。

原文地址:https://www.cnblogs.com/u-vitamin/p/11656720.html

时间: 2024-12-14 09:28:40

Servlet快速入门:第一个Servlet程序的相关文章

Servlet快速入门

1.Servlet 1.sun提供的一种动态web资源开发技术. 2.本质上就是一段java小程序. 3.可以将Servlet加入到Servlet容器中运行. *Servlet容器 -- 能够运行Servlet的环境就叫做Servlet容器. --- tomcat *web容器  -- 能够运行web应用的环境就叫做web容器 --- tomcat 2.如何开发一个servlet程序 1.写一个类实现sun公司定义的Servlet接口 2.将写好的类配置到tomcat中的web应用的web.xm

黑马day03 servlet快速入门

一.Servlet 1.sun提供的一种动态web资源开发技术.本质上就是一段java小程序.可以将Servlet加入到Servlet容器中运行. *Servlet容器 -- 能够运行Servlet的环境就叫做Servlet容器. --- tomcat *web容器 -- 能够运行web应用的环境就叫做web容器 --- tomcat 2. 写一个类实现sun公司定义的Servlet接口 将写好的类配置到tomcat中的web应用的web.xml中,(配置对外访问路径) 二.接下来我们自己写一个

servlet基础,如何实现一个servlet,servletConfig,HTTPServlet,ServletContext

1.什么是servlet? *servlet 服务器端的小程序. *干什么用的?处理客户端请求的小程序 *JavaEE三大组件之一 *Servlet *Filter 过滤器 *listener 监听器 servlet流程 1.请求服务器 2.创建req,resp两个对象 3.去web.xml中寻找servlet 4.找到之后返回servlet信息 5.服务器去判断当前servlet实例是否已经被创建过呢? 6.没有创建过(服务器会创建一个实例(init)) 7.服务器拿着req,resp 去调用

Android发送请求到不同的Servlet,但都是一个Servlet处理

错误原因,在Servlet文件中 @WebServlet("/ServletForGETMethod") 与实际的ServletForQUERYMethod 文件名不符. @WebServlet("/ServletForGETMethod") public class ServletForQUERYMethod extends HttpServlet { private static final long serialVersionUID = 1L; 改为一致即可.

C#零基础入门-3-第一个控制台程序

打开VS2017 文件 新建 项目 模板选择Visual C# Windows 控制台应用程序 快速写入Console.WriteLine 输入cw,然后快速按tab键两次即可. 原文地址:https://www.cnblogs.com/mobilecard/p/9868549.html

快速隐写术的一个小程序

只能组合jpg和zip 把程序放在同文件目录下  把要隐写的文件改成1.jpg和1.zip 下面是程序源代码  有c写出来的 1 #include <stdio.h> 2 #include <windows.h> 3 4 int main(){ 5 char a; 6 7 printf("注:把本软件放在你要隐写的目录下\n"); 8 printf("只能隐写jpg和zip 并且请改名成1.jpg和1.zip\n"); 9 printf(&q

第二天:tomcat体系结构和第一个Servlet

1.  打war包 2.  Tomcat体系再说明:   问题:如何去配置默认主机???    3.tomcat和servlet在网络中的位置 4.    servlet快速入门案例   1).开发servlet的三种方法     a.实现servlet接口     B.通过继承GenericServlet     C.通过继承HttpServlet 需求:请使用实现接口的方式来实现一个Servlet,要求该Servlet可以显示Hello world!!!,同时显示当前的时间. 步骤: A. 

程序员带你学习安卓开发,十天快速入门-基础知识(四)

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 本系列课程是.Net程序员学习安卓开发系列课程. 下面是前三次课程列表: 程序员带你学习安卓开发,十天快速入门-安卓学习必要性 程序员带你学习安卓开发,十天快速入门-开发工具配置学习 程序员带你学习安卓开发,十天快速入-对比C#学习java语法 为了大家系统有效的快速入门安卓开发,推荐

WEB - Servlet基础,编写第一个Servlet

原文地址: http://blog.codingme.net/post/java-web-01-first-servlet 什么是Servlet? Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层.使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页.Java Servlet 通常情况下与使用 CGI(Comm