Java Servlet --学习笔记(HelloWorld)

  1. 服务框架
    定义:实现服务的一系列接口,通过这些接口服务,使多个服务线程(handler thread)与客户实现交互。服务被定义为某个协议(如Http, FTP)的一个实现。
  2. 服务器框架
    服务器是Java虚拟机的一个实例。一个服务器可以支持多个并发服务,这些服务在服务器进程初始化过程中启动。例如:一个服务器,它一般可以启动系统管理服务、HTTP服务,很可能还要启动Web代理服务。在服务器运行中,仍然可以增加、删除服务。
  3. Servlet 框架
    servlet是符合由JavaServer 体系结构定义的特殊接口的Java对象。servlet 有服务器夹在和调用,而一个服务同时可以使用多个servlet。 无论是由服务器提供的内建servlet,还是用户编写的,作为附件的servlet,都可以将servlet认为是可扩展服务功能的简单方法。

Servlet类由我们来写,但对象由服务器来创建,并且由服务器来调用相应的方法。
什么是Servlet
  Servlet是JavaWeb的三大组件之一,它属于动态资源。Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要:

接收请求数据;
处理请求;
完成响应。

  例如客户端发出登录请求,或者输出注册请求,这些请求都应该由Servlet来完成处理!Servlet需要我们自己来编写,每个Servlet必须实现javax.servlet.Servlet接口。

实现Servlet的方式
实现Servlet有三种方式:
1. 实现javax.servlet.Servlet接口;
2. 继承javax.servlet.GenericServlet类;
3. 继承javax.servlet.http.HttpServlet类;

通常我们会去继承HttpServlet类来完成我们的Servlet,但学习Servlet还要从javax.servlet.Servlet接口开始学习。

Servlet.java
public interface Servlet {

    public void init(ServletConfig config) throws ServletException;

    public ServletConfig getServletConfig();

    public void service(ServletRequest req, ServletResponse res)

            throws ServletException, IOException;

    public String getServletInfo();

    public void destroy();

}

接下来我们开始准备完成Servlet,完成Servlet需要分为两步:

  1. 编写Servlet类;

  2. 在web.xml文件中配置Servlet;

    HelloWorld.java

// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
public class HelloWorld extends HttpServlet {

   private String message;

   public void init() throws ServletException {
      // Do required initialization
      message = "Hello World";
   }

   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

      // Set response content type
      response.setContentType("text/html");

      // Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
   }

   public void destroy() {
      // do nothing.
   }
}

web.xml

<servlet>
   <servlet-name>hello</servlet-name>
   <servlet-class>HelloServlet</servlet-class> 
</servlet>
<servlet-mapping>
   <servlet-name>hello</servlet-name>
   <url-pattern>/helloworld</url-pattern> 
</servlet-mapping>

在web.xml中配置Servlet的目的其实只有一个,就是把访问路径与一个Servlet绑定到一起,上面配置是把访问路径:“/helloworld”与“HelloServlet”绑定到一起。

<servlet>:指定HelloServlet这个Servlet的名称为hello;
<servlet-mapping>:指定/helloworld访问路径所以访问的Servlet名为hello
<servlet><servlet-mapping> 通过这个元素关联在一起了!

接下来,我们编译HelloServlet,注意,编译HelloServlet时需要导入servlet-api.jar,因为Servlet.class等类都在servlet-api.jar中

javac -classpath /home/king/Documents/apache-tomcat-8.5.27/lib/servlet-api.jar -d . HelloServlet.java

然后把HelloServlet.class放到/helloservlet/WEB-INF/classes/目录下,在浏览器中访问:http://localhost:8080/helloservlet/helloworld即可在控制台上看到输出!

Hello World

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值