浅谈JavaWeb知识点

浅谈JavaWeb知识点

每天积累一点点

  • 胖客户端

    胖客户端:含有逻辑代码,如果想变瘦需要将逻辑代码(解耦)提取出来,变成了三层C/S架构
  • 两层C/S特点

    数据库服务器充当服务器,在数据库编写业务处理逻辑,可移植性差。
  • 三层C/S特点

    数据库只负责存储数据,所有的业务逻辑写在应用服务器,可移植性好,适合开发大型应用,客户端需要单独安装和调试,需要自定义协议,中间有middle tie(中间件)
  • B/S相关

    客户端不需要重新安装,开发简单,不需要自定义协议,用户通过http协议到web server,在经过数据服务data server 与jrmp(java远程方法协议)连接到DB数据库,包装以后再返回到客户端。
  • JavaWeb由什么组成

    jsp,servlet,jdbc,JavaBean四部分
  • web核心三部分

    url:同一资源定位符
    http:超文本传送协议
    html:超文本标记语言
  • Tomcat是啥

    Apache软件基金会提供的免费的开源代码的java web应用服务器,他是一种servlet&jsp的容器,作用是处理客户的http请求。
  • 如何完成重定向

    Response.setStatus(302);response.setGeader(”location”,”html/register.html”)
    Response.sendRedirect(”html/register.html”)
  • 如何完成请求转发

    Request.GetRequestDispatcher(“Servlet”).forward(request,response)
  • 会话跟踪与无状态协议

    会话跟踪包括cookie, seccion,hiden页面隐藏域以及url重写技术,http是无状态协议,交换完毕后客户端与服务端的连接就会关闭,再次交换数据需要建立新的连接,用登陆来说就是每次登陆都要重新输入用户名和密码。
    如果想做到第一次登陆成功,三天内不在出现登陆界面,而是实现自动登陆(三天免登陆效果)

    用cookie解决以上问题。

    给客户端response一个通行证,服务证可以自动从通行证上确认身份,cookie具有时效性,cookie工作原理相应的也有临时cookie仅当次有效(员工卡)。
    Cookiecookie=newcookie(“username”,”password”),
    cookie.setMaxAge(Integer.MAX_VALUE),
    response.addcookie(cookie).
    如果不设置maxage, cookie存储在浏览器的内存中,则每次关闭时cookie失效,如果设置了则cookie固化到对应的系统文件中(外存)超时自动删除cookie。
    Setpath设置一个路径(15)
  • cookie作用

    为了做到可以登陆一次,在一定时间内免登陆。设置maxAge()。
  • cookie产生位置

    服务端产生。
  • cookie存储位置

    request头文件。
  • 如何从服务器端到客户端

服务端Cookie c1=new Cookie(“name”,value), 发送给客户端response.addcookie(cookie).

  • 如何从客户端到服务端

    请求头当中带着cookie(要求setpath一致可以携带,不一致不添加到request头文件中)
  • session是什么

    Session是另外一种记录客户状态的机制,不同的是cookie保存在客户端浏览器中,session保存在服务器中。
  • session与cookie不同

    Cookie不安全,容易被窃取,Cookie不需要存到服务器中,存到客户端中,减轻服务器压力。session安全,存储到服务器端,但是过多的session会给服务器很大压力。
  • session解决问题

    a.一定时间后失效b.将session 序列化serializable(也叫钝化),需要的时候反序列化(活化)。
  • session生命周期(默认30min)以及销毁

    第一次访问服务器时产生session,只有访问jsp,servlet时才会产生,每次用户访问服务器一次,服务器回更新session的最后访问时间,修改默认的生命周期只能在xml里边修改,《session-config>《session-timeout></ timeout >60《/session-config>,session的超时时间是setInactiveInterval修改,强制失效是invalid方法,session需要使用cookie做标识做成jsessionid。Set attribute(String attribute,javabean)设置session属性。Invalidate()销毁,应用场景是注销。
  • url重写技术

    把想要的参数通过写在url中带过去。
  • jsp是什么,执行过程,属性呢

    Java server page的缩写,好处就是java和html写一块,便于维护
    第一次访问jsp时候,jsp被翻译成servlet1.page指令
    属性:
    1.import 导入jar包
    anguage嵌入的语言
    contentType response的响应类型
    pageEncoding当前jsp的内部包含的编码格式
    errorpage 错误界面 页面出错的时候跳转
    iserrorpage 当前页面是处理错误的页面
    2.include 包含可以将jsp包含到另外一个jsp页面之中
    《%@ include file=“”%》
    3.taglib 标签引用指令
    《%@ taglib uri=“”%》
  • jsp九大常用对象**

    Pagecontext:管理页面属性
    Request:请求对象
    Session:每个用户访问创建的会话
    Application:保存用户信息,代码片段的运行环境,共享的内置对象
    Response:响应对象
    Out:向客户端输出数据
    Config:代码片段配置对象,表示servlet的配置
    Exception:处理jsp文件执行时发生的错误和异常
    Page:相当于this,处理jsp王爷,十object的一个实例
  • 如何使数据从一个jsp到另外一个jsp

    Setattribute和getattribute,pageContext.findAttribute(“name”);获得从pagecontext,request,session,application中从小到大获取值。
  • pagecontext亮点在哪?

    可以获得其他八大内置对象:
    Pagecontext.Getout, Pagecontext.Getpage, Pagecontext.Getrequest, Pagecontext.Getresponse, Pagecontext.Getsession, Pagecontext.Geservletcontext, Pagecontext.Getservletconfig, Pagecontext.Getexception。
  • servlet是啥和jsp的区别与特点

    Servlet代码就是使用Java语言在程序端写出来的,servlet继承的接口是Httpservlet。jsp本质就是servlet,但是jsp界面提供了一个Java代码编写,一般前台使用jsp,后台使用servlet。
  • servlet的生命周期

    第一次访问servlet初始化init,startonload数值越小顺序越优先。继承了接口以后重写Httpservlet中的Service方法,里边有doget以及dopost。
  • EL表达式与jQuery区别

    没有关系,虽然都用了$符号,jQuery是对JavaScript修饰,本质是js的封装,而el表达式是jsp表达式输出的简写,EL表达式就是<%=pagecontext.findAttribute()%>
  • EL表达式的11种内置对象

    pageScope,requestScope,sessionScope,applicationScope,param,paramValues,header,headerValues,initParam,cookie,pageContext.
  • spring的切面aop面向切面编程

    相同的代码放在一块,方便多次使用,解决了代码冗余的问题,例如解决乱码问题,Filter的使用。
  • 过滤器Filter 应用场景(Decorator装饰者模式/动态代理模式)

    可以解决乱码问提,经过滤器1,过滤器2,访问servlet,然后从过滤器2,过滤器1原路返回,这就是fileter的工作原理,过滤器可以配置多个,当然也可以只访问过滤器1,而不经过过滤器2,过滤器可以调节,生命周期与服务器一样,aop面向切面功能,公共代码的提取。
  • 过滤器中doFilter以及过滤器链

    Request,response,filterchain(过滤器链:可以由一个filter跳到另外一个filter)。Filter是一个可插拔的,记得修改filter的注解,否则进不去@WebFilter(filterName="/TestFilter4",urlPatterns="/*")。注解有个默认权重,字母小的在前边,使用filterConfig获取servletConfig.
  • 监听器对象以及内容和作用listener

    对象:application,只有一个。Session,每一个对话。Request,每个客户请求。
    内容:创建,销毁,属性改变事件。
    作用:可以在事件发生前,发生后进行处理。
    应用场景:统计在线人数和在线用户session,访问量,启动初始化信息。
  • 监听器的注册与监听事件

    Xml的配置注册:
<listener>
< listener -class>com.neusoft.listener.ListnerTest1</ listener -class > 
< /listener >

Lifcycle和attribute,生命周期和session的增加,修改与删除。
Binding绑定与session,将JavaBean通过setattribute塞入session中的时候发生valueBound事件,bean实现HttpSessionBindingListener接口,
HttpSessionActivationListener监听session对象的序列化和反序列化。添加一个context,再内部添加manager其中maxIdleSwap=“1”是代表失效时间是一分钟。

  • 什么是Ajax

    无需重新加载整个页面的情况下,更新部分网页的技术,浏览器不同Ajax 对象不同。

  • Ajax五步骤

  •    var ajax=new XMLHttpRequest();
      	//2.使用open方法设置交互信息/
      	ajax.open("get", "AjaxLoginServlet?username='ajaxname'");
      	//3.设置发送的数据//3.设置发送的数据
      	ajax.send();ajax.send();
      	//4.注册事件,监听当前的ajax是否改变//4.注册事件,监听当前的ajax是否改变
      	ajax.onreadysyayechange=function () {
      	if(ajax.readistate==4&&ajax.status==200){
      		var responsevalue=ajax.responseText;
      		//更新事件
      		console.log(responsevalue);
      		if(responsevalue==1){
      			location.href="main.jsp";
      		}else{
      			eval(responsevalue);
      			//alert("用户名密码错误!");
      		}			
      	}
      
    
  • request请求转发与重定向区别

    访问次数上,请求请求转发一次,重定向请求两次,转发只能在服务器内部转发,重定向可以向服务器外部重定向,请求转发不改变URL,重定向改变了,重定向向前台传送了302status,请求转发带参数,重定向使用session装入数据。

  • Filter解析器与静/动态包含

<dispatcher>:request,forward,include,error</ dispatcher >
   写在<filter-mapping>后边,include页面的包含,一个网页放在另外一个网页之中算是包含,静态包含和动态包含。
静态包含<%@ include file=””>先包含,在编译
动态包含<jsp: include page=”” flush=”true”>先编译,在包含
  • JSP加载顺序

    Listener—》filter—》servlet
  • 前台分页

    数据查询到前台,在前台进行数据控制,一页显示几条,页面放到当前缓冲中,优点:换页加载速度快,缺点:数据量比较大或者经常更改,可能出现数据出现错误,没有及时更新
  • 后台分页

    优点:前台显示信息因为即用即查所以准确,缺点:数据量比较大时查询的比较慢,从硬盘中取数据。两者可以同时使用,一次查询二十条放入缓存,显示十条,在点击下一页的时候在查询二十条放入缓存。
    在Hibernate中可以不用写分页语句,是对对象进行操作。
    Oracle与mysql分页:rownum与limit
  • cookie与session区别

    Session有默认生命周期,30min从tomcate的xml中获取,session有jsessionid,通过cookie传送。禁止cookie,使用url重写技术,讲jession放入url中。
  • web Service (wsdl)

    一个服务器向另外一个服务器传送xml,另一个服务器进行xml解析,得出需要传输的数据。
  • # . > 空格 * hover ,

    #是id选择器,.是类选择器,>是子选择器,空格是后代选择器,*通用,hover伪类选择器,,是分组选择器
  • jQuery采用了三层封装

    jQuery采用了三层封装:最底层方法是: . a j a x . l o a d ( ) .ajax,第二层:.load(), .get()和 . p o s t ( ) , .post(),最高层是: .getScript()和$.getJSON()方法。.load()有三个参数,url,date,callback。
  • json是啥

    是一种取代xml的数据结构,比xml更小,所以网络传输数据减少更多流量加快速度。
  • json解析工具

    Fastjson,gson,jsonlib需要jar包,传统json
    JSONObject j1=new JSONObject();
  • maven生命周期

    Clean:
    Default:
    Site:生成目录网站,建立和发布项目站点,拥有独立的生命周期

猜你喜欢

转载自blog.csdn.net/ZhouhbUp/article/details/82755937