美文网首页
你知道可以通过网址访问的Servlet如何实现吗?

你知道可以通过网址访问的Servlet如何实现吗?

作者: Java柱柱 | 来源:发表于2020-11-28 09:42 被阅读0次

Servlet 是 Server Applet 的缩写,是服务端小程序的意思。使用 Java 语言编写的服务器端程序,主要功能在于交互式地浏览和生成数据,生成动态Web内容,Servlet 主要运行在服务器端,并由服务器调用执行,是一种按照 Servlet 标准来开发的类。 是 SUN 公司提供的一门用于开发动态 Web 资源的技术。(言外之意:要实现 web 开发,需要实现 Servlet 标准)

Servlet 本质上也是 Java 类,但要遵循 Servlet 规范进行编写,没有 main() 方法,它的创建、使用、销毁都由 Servlet 容器进行管理(如 Tomcat)。(言外之意:写自己的类,不用写 main 方法,别人自动调用)

Servlet 是和 HTTP 协议是紧密联系的,其可以处理 HTTP 协议相关的所有内容。这也是 Servlet 应用广泛的原因之一。

提供了 Servlet 功能的服务器,叫做 Servlet 容器,其常见容器有很多,如 Tomcat, Jetty, WebLogic Server, WebSphere, JBoss 等等。

Servlet实现方式

  • 创建动态 web 项目
  • 新建类
  • 实现 Servlet 规范
  • 重写 service 方法
  • 配置 web.xml
  • 发布项目
  • 启动项目
  • 访问并查看结果

案例实操

1)创建动态 web 项目

你知道可以通过网址访问的Servlet如何实现吗?

2)新建类

你知道可以通过网址访问的Servlet如何实现吗?
package com.xxx.web;

public class HelloWeb {

}` 

*   1
*   2
*   3
*   4
*   5

3)实现 Servlet 规范

实现 Servlet 规范,即继承 HttpServlet 类,并导入相应的包,该类中已经完成了通信的规则,我们只需要进行业务的实现即可。

package com.xxx.web;

import javax.servlet.http.HttpServlet;

public class HelloWeb extends HttpServlet {

}` 

*   1
*   2
*   3
*   4
*   5
*   6
*   7

4)重写 service 方法

满足 Servlet 规范只是让我们的类能够满足接收请求的要求,接收到请求后需要对请求进行分析,以及进行业务逻辑处理,计算出结果,则需要添加代码,在规范中有一个叫做 service 的方法,专门用来做请求处理的操作,业务代码则可以写在该方法中。

package com.xxx.web;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWeb extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("I received a request");
        resp.getWriter().write("<h1>Hello World!</h1>");
    }

}` 

*   1
*   2
*   3
*   4
*   5
*   6
*   7
*   8
*   9
*   10
*   11
*   12
*   13
*   14
*   15
*   16
*   17
*   18

5)配置 web.xml

在完成好了一切代码的编写后,还需要向服务器说明,特定请求对应特定资源,此时通过一个名叫 web.xml 的配置文件完成。

<!-- 配置servlet -->
<servlet>
  <servlet-name>helloweb</servlet-name><!-- 给服务器看的 -->
  <servlet-class>com.xxx.web.HelloWeb</servlet-class><!-- servlet对应的资源路径 -->
</servlet>
<servlet-mapping>
  <servlet-name>helloweb</servlet-name><!-- 给服务器看的 -->
  <url-pattern>/helloweb</url-pattern><!-- 给浏览器看的,对外访问路径 -->
</servlet-mapping>` 

*   1
*   2
*   3
*   4
*   5
*   6
*   7
*   8
*   9
你知道可以通过网址访问的Servlet如何实现吗?

6)发布项目

到此,需要编写和配置的地方已经完成,项目已经完整了,但是如果需要外界能够访问, 还需要将项目发布到服务器上并运行服务器。

你知道可以通过网址访问的Servlet如何实现吗? 你知道可以通过网址访问的Servlet如何实现吗? 你知道可以通过网址访问的Servlet如何实现吗?

7)启动项目

你知道可以通过网址访问的Servlet如何实现吗?

看到类似一长串信息表示启动成功,接下来就可以访问项目了

你知道可以通过网址访问的Servlet如何实现吗?

8)访问并查看结果

在项目正确发布到服务器上之后,用户即可通过浏览器访问该项目中的资源。注意 url 的格式正确,tomcat 的端口为 8080。 http://localhost:8080/hw/helloweb ,页面结果

你知道可以通过网址访问的Servlet如何实现吗?

后台结果

你知道可以通过网址访问的Servlet如何实现吗?

到这里我们的第一个 Servlet 就实现了!

扩展

工作原理

你知道可以通过网址访问的Servlet如何实现吗?

执行过程

客户端发出请求根据 web.xml 文件的配置,找到对应的 url-pattern 读取其中的值,找到对应的 servlet-name,找到指定的 class 并加载执行该 class,返回结果由 Web 服务器将结果响应给客户端

你知道可以通过网址访问的Servlet如何实现吗?

来源:https://www.tuicool.com/articles/iaEb6z3

相关文章

  • 你知道可以通过网址访问的Servlet如何实现吗?

    Servlet 是 Server Applet 的缩写,是服务端小程序的意思。使用 Java 语言编写的服务器端程...

  • servlet基础简记

    实现一个Servlet程序: 1.创建Servlet文件2.直接实现Servlet接口(不方便),可以通过继承Se...

  • Servlet配置篇(servlet之一)

    Servlet 疑问 配置servlet的时候通过urlPattern来绑定url地址访问Servlet程序,那么...

  • ipmi带外管理

    IPMI的功能 通过web访问IPMI,你可以实现对机器的操作,linux 下可以通过ipmitool 直接访问:...

  • Servlet 处理请求资源路径

    1、注册Servlet的访问路径 精确匹配(名称) a、给Servlet取唯一的一个访问名,只能通过该访问名访问这...

  • 四、 Servlet详解

    1. Servlet核心接口和类 在Servlet体系结构中,除了实现Servlet接口,还可以通过继承Gener...

  • Action

    访问Servlet接口 ActionContext 实现接口ServletContextAware... Serv...

  • webserver-apache安装和配置

    apache是什么? 基于http协议实现web服务,让我们能够通过访问网址就能获得我们想要访问的页面的服务器。 ...

  • 06spring源码分析-SpringAOP-demo1和实现源

    你知道spring事务是如何嵌套到你的业务代码中的吗?如果你告诉我是通过动态代理实现的,那么我可以告诉你,你的技术...

  • JavaWeb--urlPattern配置

    Servlet要想被访问,需要配置其访问路径(urlPattern)①一个Servlet,可以配置多个urlPat...

网友评论

      本文标题:你知道可以通过网址访问的Servlet如何实现吗?

      本文链接:https://www.haomeiwen.com/subject/vkjqwktx.html