当前位置:   article > 正文

Java Web——Servlet初探_web-common-servlet

web-common-servlet

文章目录:

1.开篇

2.Servlet接口实现类的开发步骤

2.1 使用Maven创建web项目 

2.2 在项目的结构中新建一个java文件夹

2.3 在controller包下,创建一个Java类,继承HttpServlet类 

2.4 在WEB-INF目录下的web.xml中注册Servlet接口实现类的信息

2.5 启动Tomcat服务器

3.使用IDEA中的模板创建Servlet接口的实现类


1.开篇

上一篇文章中,讲了将Tomcat集成到IDEA中,那么这篇文章,来谈谈Servlet吧。

所谓Servlet就是完成浏览器和服务器之间的交互,浏览器发出请求,服务器做出响应,二者既然能进行信息的交流,那么他们就一定有一种规范,那这个规范就是HTTP协议。有了这种协议,不管是什么浏览器,所发出来的信息,服务器都认识。 

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

Java Servlet 通常情况下与使用 CGI(Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果。但是相比于 CGI,Servlet 有以下几点优势:

  • 性能明显更好。
  • Servlet 在 Web 服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。
  • Servlet 是独立于平台的,因为它们是用 Java 编写的。
  • 服务器上的 Java 安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet 是可信的。
  • Java 类库的全部功能对 Servlet 来说都是可用的。它可以通过 sockets 和 RMI 机制与 applets、数据库或其他软件进行交互。

2.Servlet接口实现类的开发步骤

2.1 使用Maven创建web项目 

2.2 在项目的结构中新建一个java文件夹

将这个java文件夹的类型修改为 Resources Root,同时建一下对应的包。(com.songzihao.controller)

Servlet规范认为,只有作为Servlet接口的实现类才可以被称为动态资源文件,只有动态资源文件才有资格被Tomcat服务器进行调用。

Servlet接口实现类的开发步骤:

  1. 创建一个Java类,继承HttpServlet。
  2. 重写其中的 doGet、doPost方法。
  3. 在 web.xml 中注册 Servlet 接口实现类的相关信息。

2.3 在controller包下,创建一个Java类,继承HttpServlet类 

这里重写的是service方法。在后面那个例子中重写了 doGet、doPost方法。

  1. package com.songzihao.controller;
  2. import javax.servlet.ServletException;
  3. import javax.servlet.ServletRequest;
  4. import javax.servlet.ServletResponse;
  5. import javax.servlet.http.HttpServlet;
  6. import java.io.IOException;
  7. /**
  8. * 这里是直接继承了HttpServlet这个类,你也可以写成下面这样
  9. * MyServlet implements Servlet
  10. */
  11. public class MyServlet extends HttpServlet {
  12. @Override
  13. public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
  14. res.getWriter().write("This is my first servlet!!!");
  15. System.out.println("MyServlet类成功处理了用户请求。。。。。");
  16. }
  17. }

2.4 在WEB-INF目录下的web.xml中注册Servlet接口实现类的信息

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  5. version="4.0">
  6. <!-- 注册Servlet接口的实现类 -->
  7. <!-- 声明一个变量存储Servlet接口实现类的全限定名称 -->
  8. <servlet>
  9. <servlet-name>myServlet</servlet-name>
  10. <servlet-class>com.songzihao.controller.MyServlet</servlet-class>
  11. </servlet>
  12. <!-- 为Servlet接口实现类指定一个简短的对外别名 -->
  13. <servlet-mapping>
  14. <servlet-name>myServlet</servlet-name>
  15. <url-pattern>/myServlet</url-pattern>
  16. </servlet-mapping>
  17. <!--
  18. tomcat启动时,自动读取网站中的web.xml
  19. 分别使用两个map对象存储Servlet实现类中的注册信息
  20. Map servletMap=new HashMap();
  21. servletMap.put("myServlet","com.songzihao.controller.MyServlet");
  22. Map servletMapping=new HashMap();
  23. servletMapping.put("/myServlet","myServlet");
  24. 此时浏览器发送如下请求:http://localhost:8080/szh01_first/myServlet
  25. tomcat通过 servletMapping 了解 /myServlet 对应的信息
  26. tomcat通过 servletMap 转发 myServlet
  27. -->
  28. </web-app>

2.5 启动Tomcat服务器

在浏览器中输入正确的url:http 协议、localhost:8080 本地ip和端口号、szh01_first web项目名、/myServlet是我们注册的Servlet接口实现类的信息。

回到IDEA中,可以看到Tomcat服务器运行出了相应的结果。


3.使用IDEA中的模板创建Servlet接口的实现类

上面两步完成之后,可以看到controller包、web.xml文件中,都生成了IDEA的模板代码。

  1. package com.songzihao.controller;
  2. import javax.servlet.*;
  3. import javax.servlet.http.*;
  4. import java.io.IOException;
  5. public class YourServlet extends HttpServlet {
  6. @Override
  7. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  8. System.out.println("YourServlet针对GET请求方式进行处理");
  9. }
  10. @Override
  11. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  12. System.out.println("YourServlet针对POST请求方式进行处理");
  13. }
  14. }
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  5. version="4.0">
  6. <servlet>
  7. <servlet-name>yourServlet</servlet-name>
  8. <servlet-class>com.songzihao.controller.YourServlet</servlet-class>
  9. </servlet>
  10. <servlet-mapping>
  11. <servlet-name>yourServlet</servlet-name>
  12. <url-pattern>/your</url-pattern>
  13. </servlet-mapping>
  14. </web-app>

运行Tomcat服务器,在浏览器中输入:localhost:8080/szh01_first/your

可以看到如下的结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/599114
推荐阅读
相关标签