Servlet的 GenericServlet 和 HttpServlet
一、GenericServlet?
servlet 是一个接口 下面有两个抽象类 GenericServlet 和 HttpServlet 需要被 继承并重写其中的方法。
package javaweb; import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet("/zxh") //注解配置 不需要xml配置
public class GenericServletDemo extends GenericServlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("servlet 的儿子 generic servlet 是一个抽象类 子类继承时 需要重写他的一个抽象方法! ");
}
}
二、HttpServlet?
package javaweb; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import java.io.IOException;
/* 一 HttpServlet?
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,
HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户的这些信息。 二 HttpServletRequest常用方法?
getRequestURL方法返回客户端发出请求时的完整URL
getRequestURI方法返回请求行中的资源名部分
getQueryString方法返回请求行中的参数部分(参数名+值)
getRemoteAddr方法返回发出请求的客户机的IP地址
getRemoteHost方法返回发出请求的客户机的完整主机名
getRemotePort方法返回web服务器所使用的网络端口号
getLocalPort方法返回web服务器所使用的网络端口号
getLocalAddr方法返回web服务器的IP地址
getLocalName方法返回web服务器的主机名 三 request?和 response?
1.原理?
由服务器创建 可以使用它
request 对象获取请求消息 response对象是响应 3.request继承关系
request------- servletrequest--------httpservletrequest(由Tomcat创建) 4.方法?【获取请求行的数据】
1 获取请求的方式 getMethod();
2 目录的路径 getContextPath(); *****
3 获取servlet路径 getServletPath();
4 获得get请求参数 getQueryString();
5获取请求的url getRequestURI();
getRequestURL(); *****
6 获得协议版本 getProtocol();
7 获取客户的ip getRemoteAddr(); 5.其他方法?【获取请求参数的通用方式】 get post 都可以
1 getParameter(String name);
2 根据参数的名称获得参数的数组 getParameterValues(String name)
3 getParameterNames() 获得所有的请求参数的名称
4 getParameterMap() 获得所有参数的集合 map
*/
@WebServlet("/text.html")
public class HttpServletDemo extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("提交方式为Post");
// 1 获取请求的方式 getMethod();
String method = request.getMethod();
System.out.println(method);
// 2 目录的路径 getContextPath(); *****
String contextPath = request.getContextPath();
System.out.println(contextPath);
// 3 获取servlet路径 getServletPath();
String servletPath = request.getServletPath();
System.out.println(servletPath);
// 4 获得get请求参数 getQueryString();
String s = request.getQueryString();
System.out.println(s);
// 5获取请求的url getRequestURI();
String re = request.getRequestURI();
// getRequestURL(); *****
System.out.println(re);
// 6 获得协议版本 getProtocol();
String protocol = request.getProtocol();
System.out.println(protocol);
// 7 获取客户的ip getRemoteAddr();
String remoteAddr = request.getRemoteAddr();
System.out.println(remoteAddr); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("提交方式为get");
}
}
Servlet的 GenericServlet 和 HttpServlet的更多相关文章
- servlet实现的三种方式对比(servlet 和GenericServlet和HttpServlet)
第一种: 实现Servlet 接口 第二种: 继承GenericServlet 第三种 继承HttpServlet (开发中使用) 通过查看api文档发现他们三个(servlet 和GenericSe ...
- servlet、genericservlet、httpservlet之间的区别
转自:http://blog.csdn.net/rat9912345/article/details/5161789 当编写一个servlet时,必须直接或间接实现servlet接口,最可能实现的方法 ...
- Servlet,GenericServlet和HttpServlet的继承关系
HttpServlet是GenericServlet的子类. GenericServlet是个抽象类,必须给出子类才能实例化.它给出了设计servlet的一些骨架,定义了servlet生命周期,还有一 ...
- servlet、genericservlet、httpservlet之间的区别(转)
当编写一个servlet时,必须直接或间接实现servlet接口,最可能实现的方法就是扩展javax.servlet.genericservlet或javax.servlet.http.httpser ...
- Servlet 之 GenericServlet
我们都知道javaweb中servlet的三大组件 servlet filter listener 实现动态资源的 是可以继承 Servlet接口,或者集成GenericServlet .Http ...
- Javaweb学习笔记——(九)——————Servlet的进入,及ServletConfig、GenericServlet、HttpServlet、ServletContext、获取类路径资源
Servlet1.什么是Servlet? *Servlet是Javaweb三大组件之一(Servlet,Filter,Listener) *Servlet是用来处理客户端请求的动态资源 *Servle ...
- Servlet】(2)有关Servlet实现的几个类:GenericServlet、HttpServlet、ServletConfig、ServletContext
一.GenericServlet 1.所有的成员方法: 1.在javaWeb项目中: 2.web.xml <?xml version="1.0" encoding=" ...
- Servlet , GenericServlet和HttpServlet
Servlet是一套规范,表现为一套接口,留给开发人员去实现,Servlet接口定义如下(附加servlet-api source来查看源码) 其中init方法被Servlet容器调用,servlet ...
- GenericServlet与HttpServlet
1.HttpServlet 1). 是一个 Servlet, 继承自 GenericServlet. 针对于 HTTP 协议所定制. 2). 在 service() 方法中直接把 ServletReu ...
随机推荐
- Android的WebView调试工具(无需Fan墙,可同时调试多个设备,永不过期)
缘起 前端开发离不开Chrome的开发者工具,尤其是调试Android WebView时.然而,如果使用chrome://Inspect的方法,国内的开发者会惊奇地发现“空白啊”!为此,我发布过这个离 ...
- DVWA 黑客攻防演练(一) 介绍及安装
原本是像写一篇 SELinux 的文章的.而我写总结文章的时候,总会去想原因是什么,为什么会有这种需求.而我发觉 SELinux 的需求是编程人员的神奇代码或者维护者的脑袋短路而造成系统容易被攻击.就 ...
- 推荐一款关于MongoDB日志分析的工具--Mtools
一. 需求背景 MongoDB数据库的强大的文档模型使其成为处理数据的最佳方式.文档适用于广泛的流行数据模型,支持各种各样的场景.文档模型可以包含键值.关系数据集和图形数据集,当然,还可以包含父子关系 ...
- MySQL自增列(AUTO_INCREMENT)相关知识点总结
MySQL的自增列(AUTO_INCREMENT)和其它数据库的自增列对比,有很多特性和不同点(甚至不同存储引擎.不同版本也有一些不同的特性),让人感觉有点稍微复杂.下面我们从一些测试开始,来认识 ...
- .net DLL版本管理
每个DLL打上版本号,方便识别维护
- 列表、enumerate()函数,以及查看数据类型所有的内置方法
随便看看 """ forList(): 测试list和enumerate()函数 examineFun(): 查看数据类型所有的内置方法 ""&quo ...
- java反射(java.lang.reflect) ---普通单例模式唯一性问题
1. 普通的饱汉式.饿汉式 package org.bighead.test2; public class TestPrivate { private String str = "strPr ...
- 公共的JS组件-告别CURD
urls.py urlpatterns = [ url('^asset.html$', views.AssetView.as_view()), url('^asset-json.html$', vie ...
- 英语口语练习系列-C22-吃东西
基础词汇 1. bill [bɪl] n. 账单:钞票:法案:鸟嘴 Bill (人名)比尔 pay the bill 付账单 telephone bill 话费单 electricity bill 电 ...
- IDF-简单题目writeup
1. 被改错的密码 原题: 从前有一个熊孩子入侵了一个网站的[数据库],找到了管理员密码,手一抖在[数据库]中修改了一下,现在的密码变成了ca9cc444e64c8116a30la00559c042b ...