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

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

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论