javaweb常见易错问题大汇总

1、如何修改tomcat访问端口? Answer: conf/server.xml

2、如何配置tomcat Manager访问用户? Answer: conf/tomcat-users.xml 主要应用调试管理上,上线系统中该功能一定关闭掉

3、发布工程到tomcat的三种方式 Answer: 虚拟目录配置 1) 拷贝网站目录到 tomcat/webapps (将网站目录打成war包 zip格式压缩包) 2) 配置conf/server.xml <Host>中配置 <Context path="" docBase="" /> 3) 独立配置文件 conf下 新建Catalina目录 在Catalina目录下新建主机目录 在目录下新建xml(文件名就是虚拟目录path)

4、在tomcat配置虚拟主机的步骤? Answer: 1) 在conf/server.xml 配置 <Host name="域名" appBase="虚拟主机位置" > 2) 修改c:/windows/system32/drivers/etc/hosts文件 * 配置hosts时,每行前面不能# 3) 为虚拟主机配置ROOT(三种方式)

5、tomcat启动时端口被占用如何处理 Answer: * Tomcat服务器启动时需要多个端口 1) 查看一下 哪个端口被占 8005 2) Fport 查看哪个端口被占用了 (DOS命令) netstat /ano tasklist 3) 通过任务管理关闭 (windows服务 httpd) ----- 任务管理器无法关闭服务,通过服务管理停止服务

6、Servlet的生命周期 Answer: init(ServletConfig) service(ServletRequest,ServletResponse) destroy 这三个方法什么时间执行 init默认第一访问时,加载Servlet调用 (配置<load-on-startup>修改随服务器启动加载) service 每次http请求,调用 ---- 多线程调用方式 destroy 服务器停止时 调用

7、编写Servlet步骤 Answer: 1) class extends HttpServlet 2) 覆盖doGet和doPost (如果代码逻辑一样,互相调用) 3) 配置web.xml <servlet> <servlet-mapping>

8、service和doGet、doPost的关系 Answer: service Servlet生命周期定义的 ,而实现类HttpServlet 定义doGet和doPost HttpServlet覆盖了service方法,根据页面请求方式调用相应doGet和doPost

9、为什么建议覆盖无参数init方法,而不覆盖init(ServletConfig)方法 Answer: 有参数init对ServletConfig进行一些操作,在有参数init方法中调用了无参数init,为了简化编程,直接覆盖无参数init

10、ServletConfig和ServletContext有何区别 Answer: ServletConfig为每个Servlet提供一些初始化参数信息,ServletContext每个web应用只创建一个实例,它可以完成在多个web资源中共享数据,为整个web应用提供初始化信息,提供请求分发方法

11、转发和重定向有何区别 Answer: 在javaweb开发中转发和重定向都是资源访问方式,转发是在服务器内部进行的,只有一次请求和一次响应,客户端路径不会改变,转发只能访问本站点内部资源。 重定向 基于两次请求和两次响应,服务器通知客户端重定向到某个资源,客户端路径改变,重定向也可以定向到本站点外部资源 request.getRequestDispatcher.forward response.sendRedirect 开发中应用:可以用重定向的地方(重定向本站点内)都可以使用转发,当你需要通过请求传递数据时(request.setAttribute),必须使用转发

12、常用状态码200、302、304、404、500都是什么含义 Answer: 200 正常 302 重定向 304 缓存 404 找不到 500 服务器出错

13、如何防止网页盗链 Answer: 通过request.getHeader("referer")

14、如何设置网页的过期时间 Answer: response.setDateHeader("expires",毫秒值); 过期时间毫秒值:当前时间+还有多长时间过期

15、response中setCharacterEncoding和setContentType有何区别 Answer: setCharacterEncoding设置响应中字符编码,但是不会通知客户端 setContentType 用来设置发送给客户端数据文件类型,同时指定编码格式,浏览器会根据指定编码格式查看文件

16、编写一个下载Servlet,下载中文名称的文本文件注意事项? Answer: 文本文件是浏览器支持的类型,response.setHeader("content-disposition","attachment;filename=xxx"); 如果文件名称为中文,在filename=xxx 拼接文件名称时,需要对中文文件名 URLEncoder编码

17、网站登录注册时为什么需要验证码技术? Answer: 防止一些恶意×××

18、如何解决用户提交请求数据的乱码问题 Answer: post --- request.setCharacterEncoding get ---- 手动转码 URL/new String 、 修改tomcat默认解码集 URIEncoding=xxx

19、http://url?name=zhangsan+lisi ----------使用request.getParameter("name")的获得结果 Answer: zhangsan lisi

20、isCommitted有何含义,当其为true时,可以执行下面的哪个方法 forward、redirect、include Answer: isCommited用来判断响应输出内容是否已经到达客户端 ,如果为true 不能进行forward redirect;可以进行include操作

1、为什么要使用Cookie和Session技术 Answer: HTTP协议本身是无状态的,服务器要管理客户端状态,Cookie和Session两种管理客户状态技术

2、Cookie技术的原理? Answer: 1) 客户端访问服务器资源 2) 服务器指定向客户端写出Cookie (response) ---- 在http响应中包含cookie头信息 3) 客户端收到服务器返回cookie信息后,将cookie默认保存浏览器内存中 (通过设置cookie maxAge 浏览器将cookie保存到硬盘上) 4) 客户端下次访问服务器时,自动携带cookie信息

3、Cookie的生命周期? Answer: 默认Cookie是会话Cookie,当会话结束(浏览器关闭) Cookie清除 如果设置Cookie maxAge 就会根据设置时间,计算cookie过期时间,当cookie过期后,浏览器清除cookie

4、会话Cookie和持久Cookie区别 Answer: 会话cookie 内存里,持久cookie 硬盘里

5、什么是第一方Cookie和第三方Cookie Answer: 第一方Cookie:访问A 产生A Cookie 第三方Cookie:访问A 产生B Cookie

6、Session和Cookie的区别 Answer: Cookie信息保存客户端,Session信息保存到服务器端,Session技术基于Cookie实现,将session唯一标识sessionid以cookie形式写回客户端

7、Session的生命周期(Session什么时间创建,什么时间销毁) Answer: 创建session : request.getSession 销毁session : 1) 服务器关闭 2) session过期(服务器端过期) 3) session.invalidate session过期时间两种设置方式:1) session.setMaxInactiveInterval(秒) 2) 配置web.xml <session-config> 单位分钟

8、Session的实现原理 Answer: 为每个会话创建一个单独session对象,每个对象有一个唯一的session id, session id以cookie形式写回客户端,从而完整session对象追踪

9、关闭浏览器是否就销毁了Session Answer: 不是 默认如果cookie没有持久化,关闭浏览器销毁客户端内存中cookie(session id), 服务器session仍然存在!

10、禁用Cookie,Session就无法使用了吗 Answer: URL重写

11、session.removeAttribute 和 session.invalidate区别 Answer : removeAttribute 从当前session中移除一个数据,invalidate销毁当前session对象,移除其中所有数据

12、防止表单防刷新原理(令牌机制) Answer: 客户端表单生成时,生成一个唯一标示(令牌),同时保村令牌到session和表单隐藏元素内,当表单提交时,取出表单的令牌号和session中令牌号比对,一致则表单提交有效。session中令牌号使用一次后,就将清除。

13、一次性验证码的原理 Answer: 生成验证码时,同时保存验证码到session ,用户提交验证码后,就和session中比较

14、JSP的运行原理? Answer: JSP在被访问时,首先服务器(tomcat)加载, 由服务器翻译成相应Servlet程序,编译执行

15、JSP和Servlet区别? Answer: JSP是翻译成Servlet执行的,Servlet是java程序,编写java代码比较方便,JSP支持HTML语法,所以主要用来生产动态网页。

16、JSP的九个内置对象是什么? Answer: page request session application response pageContext out config exception

17、JSP中的四种数据范围 Answer: page request session application

18、out和response.getWriter区别 Answer: out向浏览器输出,基于response.getWriter完成的。但是out和response.getWriter有着分别缓存区,向浏览器输出内容时,先输出response.getWriter内容,再输出out内容

19、如何设置web工程的错误友好页面 Answer: 错误页面 :1、在JSP内部通过errorPage isErrorPage配置 2、在web.xml 配置<error-page> 设置错误页面 JSP内部错误页面只能解决500错误,web.xml还解决404错误

20、include指令和jsp:include区别 Answer: include指令 静态引入,在JSP源码阶段引入,引入后一起完成翻译过程 jsp:include 动态引入,在程序运行时,引入目标资源,引入目标资源运行结果

原文地址:http://blog.51cto.com/13807145/2132279

时间: 2024-08-27 20:31:06

javaweb常见易错问题大汇总的相关文章

JAVA常见易错知识点整理(一)

1.局部变量不能加访问修饰符2.线程中的run方法是public void run(){},重写时需要注意修饰符3.instanceof的作用是判断其左边对象是否为其右边类的实例,返回boolean类型的数据.4.StringBuffer没有重写equals方法,该方法是比较两个对象是否相同,而不是比较字符串内容5.Throwable有两个子类分别是Error和Exception6.多态不能应用在泛型参数上7.抽象类可以有构造方法8.线程优先级1最小,10最大9.接口中的方法是public ab

IE6 浏览器常见兼容问题 大汇总(23个)

IE6以及各个浏览器常见兼容问题 大汇总 综述:虽然说IE6在2014年4月将被停止支持,但是不得不说的是,IE6的市场并不会随着支持的停止而立刻消散下去,对于WEB前端开发工程师来说,兼容IE6 兼容各个浏览器,依然是不得不面对的工作. 在此总结了常见的浏览器兼容问题,里面也有IE6的常见兼容问题,供大家分享. 如需转载,请注明出处:网易博客-独行冰海:IE6 浏览器常见兼容问题 大汇总 1.<!DOCTYPE HTML>文档类型的声明. 产生条件:IE6浏览器,当我们没有书写这个文档声明的

常见的浏览器兼容性问题大汇总

常见的浏览器兼容性问题大汇总 1 ie6.0横向margin加倍 产生因素:块属性.float.有横向margin. 解决方法:display:inline: 2 ie6.0下默认有行高 解决方法:overflow:hidden;或font-size:0;或line-height:xx px: 3 在各个浏览器下img有空隙(原因是:回车.) 解决方法:让图片浮动. 4 一个父标签与几个子标签嵌套,父标签不浮动,子标签float,子标签不撑开父的高度. 解决方法:a 在子标签最后清浮动{<div

IE6以及各个浏览器常见兼容问题 大汇总

综述:虽然说IE6在2014年4月将被停止支持,但是不得不说的是,IE6的市场并不会随着支持的停止而立刻消散下去,对于WEB前端开发工程师来说,兼容IE6 兼容各个浏览器,依然是不得不面对的工作.在此总结了常见的浏览器兼容问题,里面也有IE6的常见兼容问题,供大家分享. 如需转载,请注明出处:网易博客-独行冰海:IE6 浏览器常见兼容问题 大汇总1.<!DOCTYPE HTML>文档类型的声明.产生条件:IE6浏览器,当我们没有书写这个文档声明的时候,会触发IE6浏览器的怪异解析现象:解决办法

IE6以及各个浏览器常见兼容问题 大汇总 【转】

IE6以及各个浏览器常见兼容问题 大汇总 综述:虽然说IE6在2014年4月将被停止支持,但是不得不说的是,IE6的市场并不会随着支持的停止而立刻消散下去,对于WEB前端开发工程师来说,兼容IE6 兼容各个浏览器,依然是不得不面对的工作. 在此总结了常见的浏览器兼容问题,里面也有IE6的常见兼容问题,供大家分享. 网易博客-独行冰海:IE6 浏览器常见兼容问题 大汇总 1.<!DOCTYPE HTML>文档类型的声明. 产生条件:IE6浏览器,当我们没有书写这个文档声明的时候,会触发IE6浏览

IE6 浏览器常见兼容问题 大汇总(23个)[转载]

IE6以及各个浏览器常见兼容问题 大汇总 综述:虽然说IE6在2014年4月将被停止支持,但是不得不说的是,IE6的市场并不会随着支持的停止而立刻消散下去,对于WEB前端开发工程师来说,兼容IE6 兼容各个浏览器,依然是不得不面对的工作. 在此总结了常见的浏览器兼容问题,里面也有IE6的常见兼容问题,供大家分享. 1.<!DOCTYPE HTML>文档类型的声明. 产生条件:IE6浏览器,当我们没有书写这个文档声明的时候,会触发IE6浏览器的怪异解析现象: 解决办法:书写文档声明. 2.不同浏

46种常见的浏览器兼容性问题大汇总

浏览器兼容性问题大汇总Ø JavaScript 3 1. HTML对象获取问题 3 2. const问题 3 3. event.x与event.y问题 3 4. window.location.href问题 3 5. frame问题 3 6. 模态和非模态窗口问题 3 7. firefox与IE的父元素(parentElement)的区别 3 8. document.formName.item(”itemName”) 问题 3 9. 集合类对象问题 3 10. 自定义属性问题 3 11. inp

47种常见的浏览器兼容性问题大汇总

浏览器兼容性问题大汇总? JavaScript 3 1. HTML对象获取问题 3 2. const问题 3 3. event.x与event.y问题 3 4. window.location.href问题 3 5. frame问题 3 6. 模态和非模态窗口问题 3 7. firefox与IE的父元素(parentElement)的区别 3 8. document.formName.item("itemName") 问题 3 9. 集合类对象问题 3 10. 自定义属性问题 3 11

C语言面试题大汇总

C语言面试题大汇总 1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量.对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内. 2.如何引用一个已经定义过的全局变量? 答: extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引