Web面试题
来源:互联网 发布:ubuntu 复制命令 编辑:程序博客网 时间:2024/05/18 10:16
壹、Collection 与 Collections 的区别?
前者是集合接口,后者是工具类。
贰、JSP有哪些内置对象?作用分别是什么?
一共有九个内置对象,
1、pageContext javax.servlet.jsp.PageContext
2、request javax.servlet.http.HttpServletRequest(接口) →父接口ServletRequest
3、response javax.servlet.http.HttpServletResponse
4、session javax.servlet.http.HttpSession
5、application javax.servlet.ServletContext → 可以使用this.getServletContext()方法 替代application对象
6、config javax.servlet.ServletConfig
7、exception java.lang.Throwable
8、page java.lang.Object
9、out javax.servlet.jsp.JspWriter
作用:
1、pageContext 表示页容器 → EL、标签、上传
2、request 服务器端取得客户端的信息:头信息、Cookie、请求参数 3、response 服务器端回应给客户端信息:Cookie、重定向
4、session 表示每一个用户,用于登陆验证上
5、application 表示整个服务器,最常用的一个方法getRealPath(),获得页路径
6、config 取得初始化参数,初始化参数在web.xml中配置
7、exception 表示的是错误页的处理操作。
8、page 如同this一样,表示整个JSP页面
9、out 输出,但是尽量使用表达式输出
叁、JSP有哪些动作?作用分别是什么?
所谓的动作实际上就是指的是标签指令:
<jsp:include>:包含.
<jsp:forward>跳转
<jsp:userBean>: 使用userBean
<jsp:setProperty>:设置属性,通过反射调用方法。
<jsp:getProperty>:取得属性
<jsp:plugin>: 插入Applet程序的代码.
肆、JSP中的动态include与静态include的区别?
动态include:<jsp:include>, 如果包含的是动态页,则先编译之后再进行处理。
静态include:<%@ include %>,直接将内容先包含后处理。
伍、两种跳转的方式分别是什么?有什么区别?
1.服务器端跳转:<jsp:forward>,跳转之后地址栏不改变,可以传递request属性,实际上是对RequestDispatch接口的封装。传递参数值不会丢失
2.客户端跳转:response.sendRedirect(),跳转之后地址栏发生改变,传递参数值会丢失
陆、总结一个WEB开发中回话跟踪实现。
1.session: 也是最常用的一种。
2.Cookie:
3.地址重写
4.隐藏域
柒、WEB开发中的字符(<、>、&、’、)怎么处理?
因为以上的俄标记都属于HTML范畴的内容,所以必须 进行转义操作:<、>、"、&apos、&.
捌、说明JSP中errorPage的作用,应用范围?
表示错误页的操作,在一般的站点中,只要一个程序出现了错误,就是产生了异常,则可以统一跳转到一个页面上进行显示,那么这种操作就属于错误也的处理,但是简单的错误也基本上都是在JSP的开发中使用的。
1、 在错误能够处理的页上的page指令中,增加:isEooroPage=”true”,表示可以处理错误。
2、 在每一个页面指定errorPage,指行isErrorPage为true的页面。
如果现在希望配置一种全局的错误处理的话,则可以在web.xml中进行配置。
一旦出现错误之后,会自动跳转到指定的页面中,但是这种跳转,永远是属于服务器端跳转。
玖、写一段JDBC链接Oracle的程序,并实现数据查询。
A:步骤:
1. 定义一系列的全局常量:驱动路径、连接地址、用户名、密码
2. 加载驱动程序
3. 连接数据库
4. 操作数据库:更新或查询
5. 关闭数据库
代码:
<%
Public static final String Driver=”oracle.jdbc.driver.OracleDriver”;
Public static final String url=”jdbc:oracle:thin:@localhost:1521:MLDN”;
Public static final String username=”scott”;
Public static final String userpass=”tiger”;
%>
<%
Connection conn=null; //数据库连接
PreparedStatement ps=null;
ResultSet rs=null;
String sql=”select empno,ename,job from emp”;
%>
<%
Class.forName(Driver);
Conn=DriverManager.getConnection(url,username,userpass);
Ps=conn.preparedStatement(sql);
Rs=pstmt.executeQuery();
While(rs.next()){
Int empno=rs.getInt(1);
String ename=rs.getString(2);;
String job=rs.getString(3);
}
Rs.close()
Ps.close();
Conn.close();
%>
拾、簡述在JSP中是如何实现分页操作的?
首先一定要确定的是分页有两种:
1. 真分页:性能较高。,是基于数据库的俄操作,只是从数据库中取出部分的数据进行显示,所以性能高,但是可移植性低。
2. 假分页:性能较低,是将全部的结果查询出来,之后依靠算法分页,只显示部分数据,因为使用的是通用的语法,所以可移植性高。
实现的原理:
1. 定义一系列的变量:currentPage、lineSize、并通过查询求出allRecorders和计算求出pageSize;
pageSize=(allRecorders+lineSiez-1)/lineSize
2. 之后数据库查询语句中根据lineSize和currentPage进行数据的查询;
Oracle中使用ROWNUM、MySQL中使用limit();
3. 之后通过表单不断的修改currentPage、lineSize就可以实现分页显示。
拾壹、介绍在JSP中如何使用JavaBean?
1. JavaBean的格式要求:必须有包、public class 声明、属性封装、无参构造函数、setter、getter
2. Import语句导入或者通过<jsp:userBean>
拾贰、Servlet的生命周期?
1. 初始化,正常一次:对应init()方法,有两个 init()其中一个是有ServletConfig对象,此方法存在则无参不调用。正常情况下在第一次使用Servlet的时候才进行初始化的操作,当然,也可以通过配置在容器启动的时候自动进行初始化<load-on-startup>
2. 服务:服务多次:所有的服务都有services()方法分配,主要有doGet()和doPost(),分别处理get和post请求。
3. 销毁:正常一次:调用destroy()方法,如果一个Servlet长时间不用,也会自动销毁,而当再次使用的时候就必须重新进行初始化的操作。
拾叁、Servlet中的forward()与redirct()的区别?
Forward() 方法是RequestDispatcher接口定义的,而redirect()是response定义的,一个是服务器端跳转,另外一个是客户端跳转。
拾肆、MVC的哥哥部分都有哪些技术实现?如果实现?
MVC:Model、View、Controller
Model:JavaBean:业务处理、数据处理
View:显示的JSP,最好不存在人和的scriptlet,可以使用标签消除
Controller:控制,接收View传递的内容和调用JavaBean,并根据JavaBean的处理结果进行跳转,实现原理:
所有的JSP将内容提交给Servlet,Servlet接收这些内容并调用相应的JavaBean进行业务及数据的处理,一般JavaBean有专人负责开发,完成业务的惭怍流程,而servlet调用的只是接口,并根据这些接口的操作结果将内容交给JSP进行显示,但是在显示的时候尽可能少出现Scriptlet代码。
拾伍、国际化陈旭的实现思路?
1. Locale、属性文件、ResourceBundle
2. 国际化程序的实现,是根据本机的操作系统的语言类型,选择不同的属性文件,所有程序的基本代码一样,但是文字显示不一样,所以将内容作为属性文件出现之后,可以只显示属性文件中的蚊子。
拾陆、描述JSP和Servlet的区别、共同点、各自应用的范围?
1、 现有的Servlet再有的JSP,Servlet是在java中嵌入HTML代码,而JSP是在HTML中嵌入java代码
2、 共同点:JSP可以完成的功能,Servlet都可以完成,但是对于过滤器、监听器只能由Servlet完成。
3、 应用范围:JSP用于显示,Servlet用于控制。
拾柒、简述web.xml的作用?
属于部署描述符,在整个java中只要是容器都会存在部署描述符, 此部署描述符可以控制WEB中各个组件的运行状态,也可以配置整个容器的状态:<error:page><welcome-file-list>,<servlet>,<session-timeoue>,<filter>,<listener>
面试中最常见的代码,凡是自动生成的代码,还有main方法,都需要十分注意:
<%@ page language=”java” import = “java.util.*” pageEncoding=”GBK” %>
Main方法
Public static void main(String args[]){
}
总结:需要十分注意基础知识。
- [Web]Java面试题
- WEB开发面试题
- Web面试题
- java web 面试题
- Java Web 面试题
- java web面试题
- web前端面试题
- Web面试题总结
- Web面试题1
- Web面试题2
- Web面试题3
- java web面试题
- Web前端面试题
- java Web 面试题
- java web面试题
- java web 面试题
- java web面试题
- web前端面试题
- struts2.1.8 +dojo 的ajax方式
- /r/n与/n的区别
- 获取版本信息Version的完整代码(从msdn扩展而来)
- 执行延时检测方式
- c++学习课程
- Web面试题
- fedora linux apache/php下安装配置xdebug
- sql server 启用xp_cmdshell 重启pcanywhere
- 从资源中提取版本信息
- linux下最好的chm阅读器KchmViewer,安装使用/与oklular,xCHM,gnochm简单比较
- Ubuntu磁盘清理
- fedora Linux 下用户home目录下文件夹名字修改Desktop,Documents,Downloads,Pictures等
- WCF4.0 –- RESTful WCF Services (实例) (并发同步服务 SyncService)
- dojo实现autocomplete