失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 无聊无聊~~~~

无聊无聊~~~~

时间:2019-10-19 07:46:43

相关推荐

无聊无聊~~~~

静态代码块问题

public class 的按顺序static{}静态代码块优先执行,然后执行其他类中的,如果没有用到就不执行,因为随着类的加载才执行,优先于构造方法,且执行一次,有继承关系先执行父类的;static变量有顺序关系,static方法没有顺序关系,static方法调用时才执行。

转:/ibelieve618/p/6403573.html

此时创建了两个对象,一个在字符串常量池中创建了aaa,new String()又创建了一个

此时第二条只创建了一个对象,因为字符串常量池中已经有aaa了,直接指向过去

自动装箱,数字常量池-128到127,指向常量池

------------|Servlet 接口

--------------------|GenericServlet 类

-----------------------------|HttpServlet 类

​​​​1.生命周期方法(单例,线程不安全,效率最高)

初始化:public void init(ServletConfig servletConfig) throws ServletException {System.out.println("init!");}

只执行一次

调用服务执行: public void service(ServletRequest request, ServletResponse response)

每一次请求就执行一次

销毁:public void destroy() {System.out.println("destory!");}

服务器关闭时执行,也只执行一次

2.ServletConfig

API:

String getServletName() //返回<servlet-name>中的内容

ServletContext getServletContext() //获取Servlet上下文对象

String getInitParameter(String name) //通过名称获取制定初始化参数的值

Enumeration getInitParameterNames() //获取所有初始化参数名称

public void init(ServletConfig servletConfig) throws ServletException {System.out.println("init!");System.out.println(servletConfig.getInitParameter("p1")); //根据名称获取值System.out.println(servletConfig.getInitParameter("p2"));Enumeration enumeration=servletConfig.getInitParameterNames(); //获取名称的集合while(enumeration.hasMoreElements()){System.out.println(enumeration.nextElement());}}

Filter

四种拦截方式:request,forward,include,error

多个filter执行顺序和mapping位置顺序有关

引用场景:

执行预处理工作,例如设置编码格式判断用户是否登录,用户ip是否被禁用在目标资源执行后,进行后续处理特殊工作,例如把目标资源输出的数据进行处理

想要对HttpServletRequest进行掉包(解决全站编码问题),可以继承HttpServletRequestWrapper,覆写其中的方法就行

JavaWebListener

事件源:ServletContext(生命周期监听【ServletContextListener{初始化时调用,死亡时调用}】,属性监听【ServletContextAttributeListener{添加属性时调用,替换属性时调用,移除属性时调用}】)

HttpSession(生命周期监听【HttpSessionListener{初始化时调用,死亡时调用}】,属性监听【HttpSessionAttributeListener{添加属性时调用,替换属性时调用,移除属性时调用}】)

ServletRequest(生命周期监听【ServletRequestListener{初始化时调用,死亡时调用}】,属性监听【ServletRequestAttributeListener{添加属性时调用,替换属性时调用,移除属性时调用}】)

返回的是旧的值

SessionBindingListener,作用在JavaBean上,不需要在web.xml中注册

HttpSessionActivationListener:监听Session的活化和钝化,一般作用在Bean上

如果觉得《无聊无聊~~~~》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。