java面试题_web篇

什么是动态网页和静态网页

静态网页是指:
不应用程序而直接或间接制作成html的网页,这种网页的内容是固定的,修改和更新都必须要通过专用的网页制作工具,比如Dreamweaver。
动态网页是指:
使用网页脚本语言,比如php、asp、asp.net等,通过脚本将网站内容动态存储到数据库,用户访问网站是通过读取数据库来动态生成网页的方法

动态网页和静态网页的最大区别是:

1.静态页面是不能随时改动的,静态是一次性写好放在服务器上进行浏览的,如果想改动,必须在页面上修改,然后再上传服务器覆盖原来的页面,这样才能更新信息,比较麻烦,使用者不能随时修改。

2.动态页面是可以随时改变内容的,有前后台之分,管理员可以在后台随时更新网站的内容,前台页面的内容也会随之更新,比较简单易学

Get和Post区别

w3schools标准答案:
GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST么有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body中。

但是get和post本质上并没有区别,get和post是http协议中的两种发送请求方式,
http又是基于TCP/IP的关于数据如何在万维网中如何通信的协议,因此get和post的底层也是TCP/IP,也就是说GET/POST都是TCP链接,他们能做的事情都是一样的。如果给get加上request body,给post带上url参数,技术上是完全行的通的
GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。
GET和POST还有一个重大区别,简单的说:
GET产生一个TCP数据包;POST产生两个TCP数据包

jsp九大内置对象有哪些

JSP内置对象(9个内置对象):
1.PageContext javax.servlet.jsp.PageContext JSP的页面容器
2.request javax.servlet.http.HttpServletrequest 获取用户的请求信息
3.response javax.servlet.http.HttpServletResponse 服务器向客户端的回应信息
4.session javax.servlet.http.HttpSession 用来保存每一个用户的信息
5.application javax.servlet.ServletContext 表示所有用户的共享信息
6.config javax.servlet.ServletConfig 服务器配置信息,可以取得初始化参数
7.out javax.servlet.jsp.jspWriter 页面输出
8.page java.lang.object)
9.exception java.lang.Throwable
四种属性范围:
page(pageContext):只在一个页面中保存属性。 跳转之后无效。
request:只在一次请求中有效,服务器跳转之后有效。 客户端跳无效
session:再一次会话中有效。服务器跳转、客户端跳转都有效。 网页关闭重新打开无效
application:在整个服务器上保存,所有用户都可使用。 重启服务器后无效

动态包含和静态包含的区别?

动态包含不能包含jspf片段,静态包含可以包含片段
包含的时机不一样

本质:静态包含先把所有内容包含进来之后再生产Java文件,最终生产一个Java文件
动态包含先生成Java文件,再把内容包含进来,生成多个Java文件

什么是jsp?

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

一个JSP页面可以被分为以下几部份:静态数据、JSP指令、JSP脚本元素和变量、JSP动作、用户自定义标签。

Page指令中errorPage与isErrorPage的区别?

errorPage
当此页面出现错误时跳转到指定页面

isErrorPage

是否可以当成错误页面 flase表示不可以 true代表可以

JavaBean的自省机制是什么?

自省(内省 外省)也可以叫做反省机制;

提供一个javabean,在java里面通过api来获取javabean里面的属性(属性包括:可读性或者可写性),可以通过反射去完成读写功能;

什么是MVC模式

MVC是一个架构,或者说是一个设计模式,它就是强制性使应用程序的输入,处理和输出分开。将一个应用程序分为三个部分:Model,View,Controller。
优点:

  1. 分工明确
  2. 松耦合(可以降低层与层之间的依赖)
  3. 复用性高(利于各层逻辑的复用)
  4. 有利于标准化(有利于通过工程化、工具化产生管理程序代码)
    缺点:
  5. 有时会导致级联的修改。
  6. 降低了系统的性能
  7. 由于它没有明确的定义,所以完全理解MVC并不是很容易
  8. MVC并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失

cookie和session区别

  1. Cookie以文本文件格式存储在浏览器中,而session存储在服务端它存储了限制数据量。它只允许4kb它没有在cookie中保存多个变量。
  2. cookie的存储限制了数据量,只允许4KB,而session是无限量的
  3. 我们可以轻松访问cookie值但是我们无法轻松访问会话值,因此它更安全
  4. 设置cookie时间可以使cookie过期。但是使用session-destory(),我们将会销毁会话

过滤器的有什么作用

过滤器顾名思义就是进行过滤的,可以实现代码的定向执行和预处理

监听器是什么,有什么作用?

  1. 可以监听客户端的请求、服务端的操作等
  2. 通过监听器,可以自动激发一些操作,如监听在线用户数量,当增加一个HttpSession时,给在线人数加 1

Servlet什么时候被实例化?

Servlet是单例,针对一个tomcat在内存里面只有一个实例
第一次访问的时候
tomcat启动的时候

SpringMVC与Struts2区别

SpringMVC处理ajax请求,直接通过返回数据,方法中使用注解@ResponseBody,SpringMVC自动帮我们对象转换为JSON数据。
struts2 唯一好处:很多内置的27个插件

jQuery的加载机制$(function(){})和window.onload有什么区别

JS继承的实现方式

https://www.cnblogs.com/humin/p/4556820.html

AutoWired和Resource有什么区别?

  1. AutoWired和Resource都可以注入对象
  2. AutoWired是Spring里面提供的注解,Resource他是Java原生支持的注解
  3. AutoWired可以Spring可以进行无缝的衔接 AutoWired默认根据类型配置,如果匹配不是,根据name进行匹配
  4. Resource先根据名字匹配,匹配不上 在根据类型进行配置
  5. 建议使用AutoWired这个,Spring可以进行无缝的衔接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值