文档章节

JSP Servlet中Request与Response所有成员方法的研究

迪拜驻开源中国大使
 迪拜驻开源中国大使
发布于 2016/08/10 23:18
字数 3096
阅读 9
收藏 0
点赞 0
评论 0

HttpServletRequest与HttpServletResponse作为Servlet中doGet、doPost等方法中传递的参数,承接了Http请求与响应中的大部分功能,请求的解析与响应的返回都需要靠这两个对象进行,他们中的所有方法及功能在下边总结了一下,希望能对学习Java Web开发有所帮助。

  1、HttpServletRequest:

    /*
     * 记录各个request.get的值
     * request.getAsyncContext();AsyncContext
     * 获取异步传输的文本内容
     * request.getAttribute(String);Object
     * Attribute与Parameter不同,Attr是在程序里用SetA设置进去的,而Par是接收网页的参数
     * 多用于session的设值,session.setA,可以设置自己的类型,getP只能接收String,而getA可以为object
     * request.getAttributeNames();Enumeration<String>
     * 获取一个枚举类型,hasmoreelement,nextelement
     * request.getAuthType();String
     * 返回身份验证方法的名称,basic,SSL,form,client_cert和digest,若没有身份验证则为null
     * AuthType可在web.xml中配置,使用<login-config><auth-method>xx<real-name>xxx来配置
     * 一般用于远程网页链接,即输入网页地址,弹出一个登陆界面,那里的时候才会用
     * 读取文件头中的Authorization信息
     * request.getCharacterEncoding();String
     * 返回网页使用的编码,在网页的charset中的值
     * request.getContentLength();int
     * 只用于POST请求,表示所发送数据的字节数
     * request.getContentLengthLong();long
     * 同上,用于数据量非常大时,long八个字节
     * request.getContentType();String
     * 获取content-type,包括编码。<meta content="text/html; charset=gb2312" http-equiv="Content-Type"/>
     * Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件
     * request.getContextPath();String
     * 获取项目的根目录名,如本项目应该是/MyTestWeb。返回指定servlet上下文(web应用)的URL的前缀。
     * 用绝对路径时,可以使用getRealPath()(不推荐),request.getSession().getServletContext().getRealPath("/")
     * request.getCookies();Cookie[]
     * 很明显,返回网页的cookies,数组形式cookie是名称+值的形式保存的
     * request.getDateHeader("String");long
     * 用于将指定头信息的部分转换成方便转换为时间类型的长整数型,简化getHeaders
     * request.getDispatcherType();DispatcherType
     * 未知...
     * request.getHeader("headname");String
     * 获取指定头信息
     * request.getHeaderNames();Enumeration<String>
     * 获取名字的枚举,用于遍历
     * request.getHeaders("headersname");Enumeration<String>
     * 获取一个name的多个值序列,返回请求给出的指定类型的所有HTTP头标的名称的枚举值,它对具有多取值的头标非常有用。
     * request.getInputStream();ServletInputStream继承自io.InputStream
     * 获取请求内容,可以获取post方法在网页中通过send传递的内容,但是要通过InputStreamReader实例化
     * 同时InputStreamReader也不能直接被读取为字符串,要使用BufferedReader实例化InputStreamReader
     * 之后就可以使用BufferedReader的readline来获取中间的数据了。
     * 或者直接使用InputStream的read方法写给read的参数,byte数组
     * 该方法只能读取一次,因为是流,所以读完就没了
     * request.getIntHeader("head");int
     * 从头内容获取数值
     * request.getLocalAddr();String
     * 获取本地地址,根据访问方法不同而不同,为127.0.0.1或者公网ip
     * request.getLocale();Locale(util中)
     * 获取本地位置信息,若ZHCN等等
     * request.getLocales();Enumeration<Locale>
     * 有多个位置信息时获取枚举
     * request.getLocalName();String
     * 获取本地IP的名称,如127.0.0.1就是localhost
     * request.getLocalPort();int
     * 获取端口号,本应用就是8081
     * request.getMethod();String
     * 获取Http方法,有get,head,put,delete,post,options
     * request.getParameter("code");String
     * 获取提交参数,即网址?后面的内容,一一对应关系。即便是POST,这个也只能获取?后面的参数
     * POST与GET的不同是可以send里面写内容,网址里面传递的参数还是一样的
     * request.getParameterMap();Map<String,String[]>
     * 返回类型是String[]的原因是参数名称有可能相同,如果用getPara返回同名参数多个值的会把各个值结合起来
     * PS:遍历Map的方法,Set<Entry<String, String[]>> set = map.entrySet();先获取EntrySet
     * 然后获取EntrySet的迭代器Iterator<Entry<String, String[]>> it = set.iterator();
     * 接着使用迭代的getNext来获取各个元素Entry<String, String[]> entry = it.next();
     * 最后使用Entry.getvalue获取字符串数组
     * request.getParameterNames();Enumeration<String>
     * 获取参数名的枚举
     * request.getParameterValues("code");String[]
     * 获取同名参数的多个值
     * request.getPart("file");Part
     * 用于上传文件,一个Part为一个文件,mime类型为multipart/form-data 
     * 程序中需要添加@MultipartConfig注解
     * request.getParts();Collection<Part>
     * 获取一个Part的集合,用于上传多个文件
     * request.getPathInfo();String
     * 返回在URL中指定的任意附加路径信息。不带参数,一般是相对于Servlet的路径
     * pathinfo返回的字符串是经过Servlet服务器URL Decode过的。
     * 输出:URL中Servlet路径之后、查询字符串之前的那部分。
     * request.getPathTranslated();String
     * 映射到服务器实际路径之后的路径信息。
     * request.getProtocol();String
     * 获取协议信息和版本号,即HTTP/1.1
     * request.getQueryString();String
     * 这是字符串形式的附加到URL后面的查询字符串,数据仍旧是URL编码的。
     * 在Servlet中很少需要用到未经解码的数据,一般使用getParameter访问各个参数。
     * request.getReader();BufferedReader
     * 获取BufferedReader,和inputStream那一大堆获取的内容一样。。。
     * request.getRealPath("/");String
     * 获取绝对路径,被废弃了,请使用request.getSession().getServletContext().getRealPath("/")
     * request.getRemoteAddr();String
     * 客户端的IP
     * request.getRemoteHost();String
     * 客户端的主机名
     * request.getRemotePort();int
     * 客户端的端口号
     * request.getRemoteUser();String
     * 客户端的用户名
     * request.getRequestDispatcher("");RequestDispatcher
     * 请求转发,获取请求过来的地址,与该地址共享一个Request
     * request.getRequestedSessionId();String
     * 返回这个请求相应的session id
     * request.getRequestURI();String
     * 获得请求URL,不包含请求内容,不包含域名
     * request.getRequestURL();StringBuffer
     * 获取URL,包含域名,不包含请求内容
     * 未被Servlet服务器URL Decode过。
     * request.getScheme();String
     * 返回协议名称,http
     * request.getServerName();String
     * 获得服务器名,本地IP
     * request.getServerPort();int
     * 获取服务器端口号
     * request.getServletContext();ServletContext
     * 获取该Servlet的相关信息,getServletConfig().getServletContext().getServerInfo()
     * request.getServletPath();String
     * URL中调用Servlet的那一部分,不包含附加路径信息和查询字符串。
     * request.getSession();HttpSession
     * 获取Session对话,用于与网页通信,很有用
     * equest.getSession(boolean);HttpSession
     * request.getSession(true):若存在会话则返回该会话,否则新建一个会话。
     * request.getSession(false):若存在会话则返回该会话,否则返回NULL
     * request.getUserPrincipal();Principal
     * 返回一个java.security.Principal  对象,该对象包含当前授权用户的名称
     * 使用request.getUserPrincipal().getName()得到用户名
     * 没有通过认证就没有返回值,是用户登录后才有值的,通过了JAAS认证,也就是登录
     * 
     * request.authenticate(HttpServletResponse response);boolean
     * 证明是真实的、可靠的或有效的;鉴定,使生效
     * request.changeSessionId();String
     * Change the session id of the current session associated with this request and return the new session id.
     * request.isAsyncStarted();boolean
     * 异步传输是否开始
     * request.isAsyncSupported();boolean
     * 是否支持异步传输
     * isRequestedSessionIdFromCookie();boolean
     * SessionId是否是从cookies中获得的
     * request.isRequestedSessionIdFromUrl();boolean
     * SessionId是否是从URL中获取的,已废弃
     * request.isRequestedSessionIdFromURL();boolean
     * 同上,这个没废弃
     * request.isRequestedSessionIdValid();boolean
     * 检查SessionId是否是有效的
     * request.isSecure();boolean
     * 是否是安全的,即是否使用了安全协议,如https
     * request.isUserInRole("role");boolean
     * 判断用户是否是某个种类的角色,类型可以在web.xml中配置(tomcat-users.xml)
     * request.login("user", "password");void
     * 使用用户名和密码进行登录
     * request.logout();void
     * 用户登出
     * request.notify();request.notifyAll();void
     * 用于线程操作,详细见教材
     * request.removeAttribute("at");void
     * 删除某个属性值,对应set
     * request.setAttribute("at", request);void
     * 设置某个属性值
     * request.setCharacterEncoding("utf-8");void
     * 设置获取各个字符时使用的编码方式,应与网页的编码方式一样
     * 仅仅只适用于设置post提交的request body的编码而不是设置get方法提交的queryString的编码。
     * 该方法告诉应用服务器应该采用什么编码解析post传过来的内容。
     * request.startAsync(request, response);void
     * 开始异步传输,可以不带参数
     * request.upgrade();void
     * 开始更新?
     * request.wait(12);
     * 实现了线程的类都有该方法,用于等待
     */

2、HttpServletResponse

/*
     * response对象
     * response.addCookie(new Cookie("a","aa"));void
     * 增加cookie
     * response.addDateHeader("date", 23456789l);void
     * 在头部增加日期
     * response.addHeader("asf", "sff");void
     * 增加头部信息
     * response.addIntHeader("fsf", 12);void
     * 在头部增加数值类型
     * response.encodeRedirectUrl("utf-8");废弃
     * response.encodeRedirectURL("utf-8");String
     * 通过指定的编码对URL进项编码,并携带sessionid,跨应用
     * response.encodeUrl("utf-8");废弃
     * response.encodeURL("utf-8");String
     * 通过指定的编码对URL进项编码,并携带sessionid,本应用
     * 假如有sessionId,且不是从cookie中获得的,就放到url尾部,否则直接返回原url。
     * response.flushBuffer();vodi
     * 立即发送缓冲区字符给客户端即浏览器
     * response.getBufferSize();int
     * 获取缓冲区大小
     * response.getCharacterEncoding();String
     * 获取编码类型
     * response.getContentType();String
     * 获取Content的MIME类型和编码
     * response.getHeaderNames();Collection<String>
     * 获取所有Header的name列表
     * response.getHeaders("aa");Collection<String>
     * 获取所有aa的头的值列表
     * response.getLocale();Locale
     * 获取本地信息,如zhcn
     * response.getOutputStream();ServletOutputStream继承自OutputStream
     * 获取输出流,和inputStream对应,bufferedReader和printWriter对应
     * response.getStatus();int
     * 获取response的状态码,有200,301,404,500
     * response.getWriter();PrintWriter
     * 获取一个PrintWriter,用于向response返回数据,从而向客户端返回数据,比Stream使用方便
     * response.isCommitted();boolean
     * 调用PrintWriter对象的close()方法关闭底层输出流,方法在关闭输出流之前会先把缓冲区内的数据提交到客户端。
     * 因此在调用PrintWriter 对象的 close()方法之前,response.isCommitted()方法返回 false;
     * 而在调用PrintWriter对象的close()方法之后,response.isCommitted()方法返回true。
     * response.reset();void
     * 清除buffer,设置页面不缓存,同时清除状态码和头,如果已经发送数据则跑出异常
     * response.resetBuffer();void
     * 只清除buffer
     * response.sendError(1,"123");void
     * response.sendError(123);
     * response.sendError(1,"123");
     * setStatus方法用来设置Servlet向客户端返回的状态码,它用来设置没有出错的状态。
     * 如果Servlet运行出错,Servlet可以使用sendError方法设置状态码,
     * 如sendError(int sc)方法设置错误状态代码。sendError(int sc,String msg)方法除了设置状态码
     * 还向客户发出一条错误信息。
     * response.sendRedirect("xx.html");
     * 返回一个重定向,并把新的request与response交给重定向的页面进行处理
     * sendRedirect方法向客户发出临时重新导向的响应。它生成的响应状态码为302。
     * 该响应给了客户一个新的URL分区。如果缓冲器已经被清空,这个方法会弹出一个IllegalStateException例外。
     * response.setBufferSize(123);
     * 设置缓冲区大小
     * response.setCharacterEncoding("utf-8");
     * 设置字符编码
     * response.setContentLength(123);
     * 设置返回内容的长度,在header中也有
     * response.setContentLengthLong(1345l);
     * 长度非常长是使用
     * response.setContentType("dfd");
     * 设置ContentType,包括编码和类型信息
     * 网页的Http头中ContentType("text/html; charset=GBK")的作用:
     * 告诉浏览器网页中数据是什么编码\
     * 表单提交时,通常浏览器会根据ContentType指定的charset对表单中的数据编码,然后发送给服务器的。
     * 这里需要注意的是:这里所说的ContentType是指http头的ContentType,而不是在网页中meta中的ContentType。
     * response.setDateHeader("asd", 123l);
     * 修改日期头
     * response.setHeader("sfds", "sdfsdf");
     * 修改头
     * response.setIntHeader("sf", 3123);
     * 设置数值头
     * response.setLocale(locale );
     * 设置本地环境
     * response.setStatus(1);
     * 设置Http状态码,为出错的情况用
     * response.setStatus(12, "dasd");
     * 设置状态码并带一条消息
     */

3、用于测试的代码

        AsyncContext async = request.getAsyncContext();
        String attribute = (String) request.getAttribute("code");
        Enumeration<String> enumer = request.getAttributeNames();
        String authtype = request.getAuthType();
        String character = request.getCharacterEncoding();
        int len = request.getContentLength();
        long lenl = request.getContentLengthLong();
        String contenttype = request.getContentType();
        String contextpath = request.getContextPath();
        Cookie[] cook = request.getCookies();
        long dataHeader = request.getDateHeader("");
        DispatcherType dispatcher = request.getDispatcherType();
        String header = request.getHeader("headname");
        Enumeration<String> headernames = request.getHeaderNames();
        Enumeration<String> headersname = request.getHeaders("headersname");
        ServletInputStream ins = request.getInputStream();
        int i = request.getIntHeader("head");
        String add = request.getLocalAddr();
        Locale locale = request.getLocale();
        Enumeration<Locale> locales = request.getLocales();
        String localname = request.getLocalName();
        int port = request.getLocalPort();
        String method = request.getMethod();
        String codep = request.getParameter("code");
        Map<String,String[]> map = request.getParameterMap();
        Enumeration<String> Pnames = request.getParameterNames();
        String[] values = request.getParameterValues("code");
        Part pa = request.getPart("file");
        Collection<Part> pas = request.getParts();
        String pathin = request.getPathInfo();
        String trans = request.getPathTranslated();
        String protoc = request.getProtocol();
        String query = request.getQueryString();
        BufferedReader br = request.getReader();
        String rp = request.getRealPath("/");
        String ra = request.getRemoteAddr();
        String rh = request.getRemoteHost();
        int rport = request.getRemotePort();
        String ru = request.getRemoteUser();
        RequestDispatcher rd = request.getRequestDispatcher("");
        String rsi = request.getRequestedSessionId();
        String uri = request.getRequestURI();
        String scheme = request.getScheme();
        String servern = request.getServerName();
        int sport = request.getServerPort();
        ServletContext scon = request.getServletContext();
        String spath = request.getServletPath();
        HttpSession session1 = request.getSession();
        HttpSession session2 = request.getSession(true);
        Principal prc = request.getUserPrincipal();
        
        boolean authe = request.authenticate(response);//证明是真实的、可靠的或有效的;鉴定,使生效
        String cs = request.changeSessionId();
        boolean iss = request.isAsyncStarted();
        boolean isss = request.isAsyncSupported();
        boolean issr = request.isRequestedSessionIdFromCookie();
        boolean irsi = request.isRequestedSessionIdFromUrl();
        boolean irss = request.isRequestedSessionIdFromURL();
        boolean isiv = request.isRequestedSessionIdValid();
        boolean isivs = request.isSecure();
        boolean isr = request.isUserInRole("role");
        request.login("user", "password");
        request.logout();
        request.notify();
        request.notifyAll();
        request.removeAttribute("at");
        request.setAttribute("at", request);
        request.setCharacterEncoding("utf-8");
        request.startAsync();
        request.startAsync(request, response);
        //request.upgrade();
        
        response.addCookie(new Cookie("a","aa"));
        response.addDateHeader("date", 23456789l);
        response.addHeader("asf", "sff");
        response.addIntHeader("fsf", 12);
        boolean ch = response.containsHeader("asf");
        String eru = response.encodeRedirectUrl("utf-8");
        String eru1 = response.encodeRedirectURL("utf-8");
        String eu = response.encodeUrl("utf-8");
        String eu1 = response.encodeURL("utf-8");
        response.flushBuffer();
        int bs = response.getBufferSize();
        String ge = response.getCharacterEncoding();
        String cont = response.getContentType();
        String se = response.getHeader("aa");
        Collection<String> ghn = response.getHeaderNames();
        Collection<String> ghn1 = response.getHeaders("aa");
        Locale sss = response.getLocale();
        ServletOutputStream ost = response.getOutputStream();
        int rs = response.getStatus();
        PrintWriter writer1 = response.getWriter();
        boolean isc = response.isCommitted();
        response.reset();
        response.resetBuffer();
        response.sendError(1,"123");
        response.sendError(123);
        response.sendRedirect("xx.html");
        response.setBufferSize(123);
        response.setCharacterEncoding("utf-8");
        response.setContentLength(123);
        response.setContentLengthLong(1345l);
        response.setContentType("dfd");
        response.setDateHeader("asd", 123l);
        response.setHeader("sfds", "sdfsdf");
        response.setIntHeader("sf", 3123);
        response.setLocale(locale );
        response.setStatus(1);
        response.setStatus(12, "dasd");

本文转载自:http://www.cnblogs.com/guangshan/p/4198418.html?utm_source=tuicool&utm_medium=referral

共有 人打赏支持
迪拜驻开源中国大使
粉丝 4
博文 29
码字总数 2966
作品 0
大连
程序员
Java Web(一) Servlet详解!!

一、什么是servlet?     处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西。理解这个的前提是了解一些http协议的东西,并且...

architect刘源源 ⋅ 05/08 ⋅ 0

web.xml中Filter,Listener,Servlet的区别

一、Servlet Servlet是基本的服务端程序,他来自接口Servlet,接口中有方法service。而Servlet的一个重要实现类,则是tomcat服务器的核心,那就是HttpServlet HttpServlet有方法: public a...

architect刘源源 ⋅ 05/04 ⋅ 0

tomcat学习笔记之servlet 容器

1、servlet 容器用来处理请求servlet资源、为客户端封装Response 对象的模块 2、tomcat 容器分四种: Engine:整个Catalina servlet 引擎 Host:包含一个或多个Context 容器的虚拟主机 Cont...

职业搬砖20年 ⋅ 06/08 ⋅ 0

挖洞经验 看我如何发现Paypal内部信息泄露漏洞

        本文我要分享的是,在Paypal网站manager.paypal.com上的某个页面存在“表达式注入“漏洞(Expression Language Injection),利用该漏洞我可以间接获取到Paypal系统的内部IP、...

FreeBuf ⋅ 前天 ⋅ 0

springboot 是如何帮我们省去web.xml配置的

概述 最开始使用原生的springmvc时,总是免不了有如下xml配置 但是,切换到springboot之后,web.xml之类的繁琐的配置基本上都不见了。出于好奇研究了下springboot究竟帮我们做了什么,我们可...

端吉 ⋅ 昨天 ⋅ 0

JavaWeb开发比较重要的面试题

JavaWeb开发比较重要的面试题 1. 编码转换:怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串? 答:示例代码如下: String s1=”你好”; String s2=new String(s1.getBytes(“GB2312”...

xj_9264 ⋅ 05/06 ⋅ 0

JSP 学习总结---学习笔记

什么是JSP 1)为什么说,Servlet是一个动态Web开发技术呢? Servlet是基于服务端的一种动态交互技术, HttpServletRequest表示客户端到服务端的对象 HttpServletResponse表示服务端到客户端的...

知止内明 ⋅ 04/18 ⋅ 0

Servlet的一些细节--学习笔记

Servlet细节 1)浏览器访问的url-pattern只是一个符合格式的任意字符串,以/开头 2)一个Servlet的url-pattern可以是1个或多个,有二种形式; a).xx b)/xx/ 注意:/不能一起直接使用 3)/和....

知止内明 ⋅ 04/17 ⋅ 0

Tomcat,JBoss与JBoss Web

最近接触到应用服务器JBoss,此外JBoss Web与Tomcat也同为web服务器,便查阅资料对三者进行比较,供大家参考。 一、Tomcat Tomcat 服务器是免费开源的Web 应用服务器。支持最新的Servlet 和J...

thinkyoung ⋅ 2014/11/16 ⋅ 0

web项目中web.xml的作用

每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。 web.xml文件是用来...

ChinaHYF ⋅ 04/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Python爬虫,抓取淘宝商品评论内容

作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫! 思路 我们就拿“德州扒鸡”...

python玩家 ⋅ 9分钟前 ⋅ 0

MySQL 内核深度优化

MYSQL数据库适用场景广泛,相较于Oracle、DB2性价比更高,Web网站、日志系统、数据仓库等场景都有MYSQL用武之地,但是也存在对于事务性支持不太好(MySQL 5.5版本开始默认引擎才是InnoDB事务...

java高级架构牛人 ⋅ 32分钟前 ⋅ 0

用户登录信息-钉子效果(基于jquery2.0)

本js效果使用jquery2.0,清晰的分解用户登录信息的(钉子效果),该效果直接用在作者网站(www.phpkhbd.com)上。 里面的难点有:定时器,延时。 大致效果如下: 一开始: 鼠标放上去的时候:...

宁哥实战课堂 ⋅ 33分钟前 ⋅ 0

解决yum安装报错Protected multilib versions

使用yum安装报错Protected multilib versions原因是因为多个库不能共存,不过更新的话也并不行,但是可以在安装命令后面加上如下一段命令: --setopt=protected_multilib=false 案例: 比如需...

北岩 ⋅ 44分钟前 ⋅ 0

为什么要学习Typescript???

简单来说 目前的typescript就是未来的javascript 为什么?? 这要从ECMA-262标准的第4版说起 对了 我们说的ES5 其实是ECMAScript3.1这个替代性建议被扶正了而已... 那么 第4版标准是什么? 看看...

hang1989 ⋅ 48分钟前 ⋅ 0

linux安装ipfs

一、下载ipfs # cd /usr/local/ipfs/ # wget https://dist.ipfs.io/go-ipfs/v0.4.15/go-ipfs_v0.4.15_linux-amd64.tar.gz # tar -zxvf go-ipfs_v0.4.15_linux-amd64.tar.gz 二、安装ipfs # ......

八戒八戒八戒 ⋅ 54分钟前 ⋅ 0

jvm程序执行慢诊断手册

生产环境最多的几种事故之一就是程序执行慢,如果是web服务的话,表现就是响应时间长。本文分享,从业多年形成的排查守则。 诊断步骤 系统资源查看 首先是系统资源查看,而且必须是在第一步。...

xpbob ⋅ 54分钟前 ⋅ 0

YII2 advanced 高级版本项目搭建-添加API应用以及多应用

一、YII安裝 安裝yii可以用composer安裝,也可以在yii中文社区下载归档文件安装 composer安装就不介绍了,因为要安装composer,比较麻烦,当然安装了composer是最好的,以后安装yii的插件要用...

botkenni ⋅ 55分钟前 ⋅ 0

在jdk1.8的环境下模拟永久代内存溢出

相信不少小伙伴在看深入理解Java虚拟机的时候,作者给我们举例一个demo来发生PermGen space 1、通过List不断添加String.intern(); 2、通过设置对应的-XX:PermSize与-XX:MaxPermSize(更快看到...

虾几把写 ⋅ 今天 ⋅ 0

开发OpenDaylight组件的完整流程

在前面介绍学习了OpenDaylight的几个重要模块后,这里再来介绍下完整开发一个模块的过程。 OSGI的bundles提供被其他OSGI组件调用的服务。这个教程中展示的是Data Packet Service去解析数据包...

wangxuwei ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部