码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-10-12 01:33:56      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:start   oca   相关   init   tom   搭建   org   处理程序   简单的   

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 打下基础。当然本篇只是个入门,能够获取的知识有限,后续还会有更多的进阶内容,敬请期待。

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

标签:start   oca   相关   init   tom   搭建   org   处理程序   简单的   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!