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引入的工具 ...
随机推荐
- 巨蟒python全栈开发-第20天 核能来袭-约束 异常处理 MD5 日志处理
一.今日主要内容 1.类的约束(对下面人的代码进行限制;项目经理的必备技能,要想走的长远) (1)写一个父类,父类中的某个方法要抛出一个异常 NotImplementedError(重点) (2)抽象 ...
- mysql 数据库表名大小写问题
lower_case_table_names=1 原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:1.用root登录,修改 /usr/my.cnf: ...
- Replay attack 回放攻击
w http://baike.baidu.com/item/重放攻击 重放攻击(Replay Attacks)又称重播攻击.回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一 ...
- PC京东登录页分析 curl
w 正确的组合,没有显示新页面的数据. <!doctype html> <html> <head> </head> <?php include(' ...
- IO 包中的其他类
打印流 PrintWriter 和 PrintWriter 直接操作输入流和文件 序列流 SequenceInputStream 对多个输入流进行合并 操作对象 ObjectInputStream 和 ...
- MongoDB资料汇总(转)
原文:MongoDB资料汇总 上一篇Redis资料汇总专题很受大家欢迎,这里将MongoDB的系列资料也进行了简单整理.希望能对大家有用. 最后更新时间:2013-04-22 1.MongoDB是什么 ...
- 基于UDP的套接字、粘包问题
一.基于UDP的套接字 UDP服务端 ss = socket() #创建一个服务器的套接字 ss.bind() #绑定服务器套接字 inf_loop: #服务器无限循环 cs = ss.recvfro ...
- CF 558 C. Amr and Chemistry 暴力+二进制
链接:http://codeforces.com/problemset/problem/558/C C. Amr and Chemistry time limit per test 1 second ...
- Android学习九---OpenCV4android org.opencv.feature2d
不管是在识别,配准等应用中,提取图像的特征都是很关键的一环,提取特征是先找出图像的关键点(如角点,边缘点等),然后用描述子来描述这些点,最后整幅图像就可以表示成一个特征向量,特征向量就可以利用在后续识 ...
- GSM/GPRS/3G/4G
1.状态机机制的gprs拨号 像GPRS/3G模块之类的应用,需要连接,登陆,初始化等步骤完成后才能传输数据,而这些步骤又比较耗时. 所以用 状态机 + 超时 的机制来实现比较合理. 如下代码片段来描 ...