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中配置3) 独立配置文件 conf下 新建Catalina目录 在Catalina目录下新建主机目录 在目录下新建xml(文件名就是虚拟目录path)
4、在tomcat配置虚拟主机的步骤? Answer: 1) 在conf/server.xml 配置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调用 (配置修改随服务器启动加载) service 每次http请求,调用 ---- 多线程调用方式 destroy 服务器停止时 调用
7、编写Servlet步骤 Answer: 1) class extends HttpServlet 2) 覆盖doGet和doPost (如果代码逻辑一样,互相调用) 3) 配置web.xml
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单位分钟
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 配置设置错误页面 JSP内部错误页面只能解决500错误,web.xml还解决404错误
20、include指令和jsp:include区别 Answer: include指令 静态引入,在JSP源码阶段引入,引入后一起完成翻译过程 jsp:include 动态引入,在程序运行时,引入目标资源,引入目标资源运行结果
JAVAWEB常见易错问题大汇总的更多相关文章
- js常见易错点
原文:http://www.jianshu.com/p/1c77853d4f01 前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函 ...
- C语言常见易错题集(分析及解答)(仅可用于交流,勿用于商业用途)
1.能正确表示a和b同时为正或同时为负的逻辑表达式是( D ). A.(a>=0||b>=0)&&(a<0||b<0) B.(a> ...
- STM32 MDK C 常见易错点
1.MDK编译器单字节的负数-1,-2,-3... ... 处理:存储,类型转换,位对齐. char 定义的变量在运算过程尤其类型转换,逻辑比大少会被当做 unsigned char 处理,这里很容易 ...
- IE6 浏览器常见兼容问题 大汇总(23个)
IE6以及各个浏览器常见兼容问题 大汇总 综述:虽然说IE6在2014年4月将被停止支持,但是不得不说的是,IE6的市场并不会随着支持的停止而立刻消散下去,对于WEB前端开发工程师来说,兼容IE6 兼 ...
- IE6 浏览器常见兼容问题 大汇总(23个)[转载]
IE6以及各个浏览器常见兼容问题 大汇总 综述:虽然说IE6在2014年4月将被停止支持,但是不得不说的是,IE6的市场并不会随着支持的停止而立刻消散下去,对于WEB前端开发工程师来说,兼容IE6 兼 ...
- 转 C语言面试题大汇总
转 C语言面试题大汇总,个人觉得还是比较全地!!! \主 题: C语言面试题大汇总,个人觉得还是比较全地!!! 作 者: free131 (白日?做梦!) 信 誉 值: 100 ...
- java面试笔试大汇总
java面试笔试题大汇总5 JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象:2.继承:3.封装:4. 多态性: 2.String是最基本的数据类型吗? 基本数据类型包括byte.int. ...
- forEach、map、filter、find、sort、some等易错点整理
一.常用方法解析 说起数组操作,我们肯定第一反应就是想到forEach().map().filter()等方法,下面分别阐述一下各方法的优劣. 1.forEach 1.1 基础点 forEac ...
- JavaGuide易错点总结
基础知识易错点 1. object.equals("str") 容易报空指针异常,应使用"str".equals(object); 还可以使用JDK7引入的工具 ...
随机推荐
- Vsftpd匿名登录设置
修改配置文件 # vi /etc/vsftpd/vsftpd.conf local_enable=NO connect_from_port_20=YES listen=YES listen_port= ...
- REST Representational state transfer REST Resource Naming Guide Never use CRUD function names in URIs
怎样用通俗的语言解释什么叫 REST,以及什么是 RESTful? - 知乎 https://www.zhihu.com/question/28557115 大家都知道"古代"网 ...
- FW qunit introduction
自动化测试软件对于开发来说是一个很重要的工具,而单元测试对于自动化测试来说是基本组成部分:软件的每一个组件或者单元可以在非人工介入的情况下,使用测试工具一遍遍的重复执行.换句话说,就是你可以写一次测试 ...
- 洛谷 P2216 [HAOI2007]理想正方形
洛谷 巨说这是一道单调队列好题,但是我并不是用单调队列做的诶. 如果往最暴力的方向去想,肯定是\(n^3\)的\(dp\)了. \(f[i][j][k]\)代表当前正方形的左上角定点是\((i,j)\ ...
- Android安装APK报错:Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE解决方法
今天调试一个android应用的时候,安装报了Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE错误,代码如下: [2015-12-28 15 ...
- springboot集成shiro和开涛的动态url问题
我出现的问题就是一旦/**=authc不管放到前面还是后面都会把所有的资源全部拦截,css和js都访问不到,只需要把开涛的动态url代码改一下就行了(如上图)
- TouchDelegate
TouchDelegate(Rect bounds, View delegateView) Parameters: bounds Bounds in local coordinates of the ...
- 安全必须作为基础,融入到产品开发过程——By Me
安全必须作为基础融入,让公司兄弟姐妹具备足够的安全意识,且逐渐具备必要的安全经验,带着安全思维去执行产品的架构设计.研发.测试.运维(甚至完整的产品生命周期),这是一种有远见.负责人的产品过程!! 下 ...
- 系列文章(二):从WLAN的安全威胁,解析电信诈骗的技术症结——By Me
导读:互联网的无线接入已经成为大趋势,其中无线局域网(又称为WLAN,Wireless Local AreaNetwork)以其使用方便.组网灵活.可扩展性好.成本低等优点,成为互联网特别是移动互联网 ...
- Redis二(Hash操作)
Hash操作 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value) 1 2 3 4 5 6 7 8 9 # name对应的hash中设置一个键值对 ...