ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第七章:Servlet

2021-12-24 10:32:01  阅读:140  来源: 互联网

标签:void 程序 7.1 第七章 Override Servlet public


7.1Servlet技术

7.1.1Servlet介绍

1、Servlet 是 JavaEE 规范之一。规范就是接口;
2、Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器;
3、Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

7.1.2手动实现Servlet程序

1、编写一个Servlet程序(根据提交方式的不同,进行不同的处理);

1.	package com.atguigu.servlet;  
2.	  
3.	import javax.servlet.*;  
4.	import javax.servlet.http.HttpServletRequest;  
5.	import java.io.IOException;  
6.	  
7.	/** 
8.	 * @author peng 
9.	 * @date 2021/12/17 - 9:49 
10.	 */  
11.	public class HelloServlet implements Servlet {  
12.	  
13.	    @Override  
14.	    public void init(ServletConfig servletConfig) throws ServletException {  
15.	  
16.	    }  
17.	  
18.	    @Override  
19.	    public ServletConfig getServletConfig() {  
20.	        return null;  
21.	    }  
22.	  
23.	    /** 
24.	     * service是处理请求与响应的程序 
25.	     * 
26.	     * @param servletRequest 
27.	     * @param servletResponse 
28.	     * @throws ServletException 
29.	     * @throws IOException 
30.	     */  
31.	    @Override  
32.	    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {  
33.	        /** 
34.	         * 获取表单提交方式的方法 
35.	         * 1、在service方法中的servletRequest参数中有表单的提交方式,但是不能直接获取 
36.	         * 2、要使用ServletRequest的子类HttpServletRequest中的getMethod();方法才能获取 
37.	         */  
38.	        System.out.println("Servlet程序被访问了!");  
39.	        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;  
40.	        String method = httpServletRequest.getMethod();  
41.	        System.out.println(method);  
42.	        if ("GET".equals(method)) {  
43.	            doGet();  
44.	        } else if ("POST".equals(method)) {  
45.	            doPost();  
46.	        }  
47.	    }  
48.	  
49.	    /** 
50.	     * 处理get请求的方法 
51.	     */  
52.	    public void doGet() {  
53.	        System.out.println("正在处理Get请求!");  
54.	    }  
55.	  
56.	    /** 
57.	     * 处理post请求的方法 
58.	     * 
59.	     * @return 
60.	     */  
61.	    public void doPost() {  
62.	        System.out.println("正在处理Post请求!");  
63.	    }  
64.	  
65.	    @Override  
66.	    public String getServletInfo() {  
67.	        return null;  
68.	    }  
69.	  
70.	    @Override  
71.	    public void destroy() {  
72.	  
73.	    }  74.	}  

2、 在web.xml中进行配置;

1.	<servlet>  
2.	      <!--    name是给Servlet程序起的一个别名,一般是Servlet的类名-->  
3.	      <servlet-name>HelloServlet</servlet-name>  
4.	      <!--    class是Servlet程序的全类名-->  
5.	      <servlet-class>com.atguigu.servlet.HelloServlet</servlet-class>  
6.	  </servlet>  
7.	  <servlet-mapping>  
8.	      <!--    name:表示告诉服务器,现在配置的地址给哪一个Servlet程序使用-->  
9.	      <servlet-name>HelloServlet</servlet-name>  
10.	      <!--    /hello表示程序开始的位置,通俗地说就是自定义给我所写的Servlet程序一个路径,告诉服务器Servlet路径被我定义成这个了-->  
11.	      <!--    还可以这样理解,/hello这个地址对应的是HelloServlet这个程序,以后还会有其他的Servlet程序,定义好路径之后就不会混乱了-->  
12.	      <!--    一个mapping对应的是一个Servlet-->  
13.	      <url-pattern>/hello</url-pattern>  
14.	  </servlet-mapping>  

7.1.3URL地址到Servlet程序的访问

在这里插入图片描述

7.1.4Servlet的生命周期

1、执行Servlet构造器方法;
2、执行init初始化方法;
3、执行service方法;
4、执行destroy销毁方法。
注意:其中第一、第二步,在创建Servlet时会进行调用。第三步在每次访问Servlet程序时都会调用。第四步在web工程停止时会调用。

7.1.5通过继承 HttpServlet 实现 Servlet 程序

一般在实际项目开发中,都是使用继承 HttpServlet 类的方式去实现 Servlet 程序:
1、 编写一个类去继承 HttpServlet 类;
2、 根据业务需要重写 doGet 或 doPost 方法;
3、 到 web.xml 中的配置 Servlet 程序的访问地址。
(实现方式与上述创建Servlet程序差不多,在此就不进行代码的演示了)

7.1.6使用IDEA创建Servlet

1、通过右键new一个Servlet,有时候右键会new不出来,建议上网搜一下怎,因为我的就是右键new不出来;
在这里插入图片描述

2、进行配置;
在这里插入图片描述

7.1.7Servlet类的继承体系

在这里插入图片描述

标签:void,程序,7.1,第七章,Override,Servlet,public
来源: https://blog.csdn.net/weixin_44278828/article/details/122121949

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有