zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Servlet——初识Servlet详解编程语言

Servlet编程语言 详解 初识
2023-06-13 09:11:53 时间

Java的各种框架虽然好,但是这些框架底层的实现技术,才是真正核心的东西。框架会随着时间更迭,底层核心却永远不变。学习各种框架的时候,不能忘记实现它们的核心技术。最近我会花时间重温Serlvet的知识,这对理解SpringMVC和SpringBoot等框架的底层原理有很大的帮助。

下面用了一个简单的示意图,说明了Servlet的作用。由图可知,Servlet(Server applet)实际上就是基于HTTP协议的在服务端生成的小程序,用于前后端数据交互。所以从归属上来说,Servlet是属于服务器端而不是前端的技术。

在这里插入图片描述

从代码上来说,实际上一个Servlet就是一个实现HttpServlet借口的Java类,如下就是一个普通的Servlet

public class MyServlet extends HttpServlet{

Servlet由支持Servlet的Web服务器调用和运行,比如tomcat
一个Servlet实际上可以响应一个或者一组URL的请求,并返回响应请求。这主要是通过以下方式实现的:在Servlet类中重写HttpServlet的service方法,并在WEB-INF下的web.xml文件里配置http请求与Servlet类的映射关系,web服务器(这里是tomcat)就会自动识别你的Servlet类里重写的service方法并执行。这里有两个注意事项:1.一定要是重写HttpServlet里的service方法,普通service方法tomcat无法自动识别;2.一定要配置Servlet类与地址栏路径的映射,不然通过地址栏中访问。
代码如下:

//MyServlet.class 

public class MyServlet extends HttpServlet{

 @Override 

 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{

 resp.getWriter().write("mytomcat"); 

//web.xml 

 web-app ..... 

 servlet 

 servlet-name MyServlet /servlet-name //这里的名字可以随便起 

 servlet-class com.XXX.MyServlet /servlet-class //你想要配置的那个Servlet类的全路径 

 /servlet 

 servlet-mapping 

 servlet-name MyServlet /servlet-name //与上面配置的servlet-name一致,这样才能建立映射关系 

 url-pattern /MyServlet /url-pattern //这里的路径可以随便起,这是用在在地址栏中登陆这个Servlet的路径 

 /servlet-mapping 

 /web-app 

有了以上配置之后,启动tomcat,打开浏览器在地址栏中输入 localhost:8080/MyServlet,就会有以下显示
在这里插入图片描述

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/20605.html

cjavaxml