7、说明JSP中errorPage的作用,应用范围。
表示错误页的操作,在一般的站点中,只要是程序出现了错误,就是产生了异常,则可以统一跳转到页面上进行显示,那么这样的操作就属于错误页的处理,但是简单的错误页基本上就是JSP的开发中使用的。
要想进行错误页的设置,需要满足以下两个条件:
1、 在错误能够处理的页上的Page指令中,增加:isErrorPage=”true”,表示可以处理错误
2、 在每个页面指定errorPage,指令isErrorPage为true的页面
如果现在希望配置一种全局的错误处理的话,则可以在web.xml中进行配置
<error-page> <error-code>404</error-code> <location>/error.jsp</location> </error-page> <error-page> <exception-type>java.lang.NullPointerException</exception-type> <location>/error.jsp</location> </error-page>
一旦出现错误以后,会自动跳转到指定的错误页面中,但是这种跳转,永远是属于服务器端跳转
8、写一段JDBC连接ORACLE的程序,并实现数据查询
A、步骤:
定义一系列的全局变量:驱动路径、连接地址、用户名、密码
加载驱动程序
连接数据库
操作数据库:更新或查询
关闭数据库
B、代码:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@ page import="java.sql.*" %> <html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <%! public static final String DBDRIVER="oracle.jdbc.driver.OracleDriver"; public static final String DBURL="jdbc.oracle.thin:@localhost:1521:WANGZHUO"; public static final String DBUSER="scott"; public static final String DBPASSWORD="tiger"; %> <% Connection conn=null; PreparedStatement pstmt=null; ResultSet rs=null; String sql="SELECT empno,ename,job FORM emp"; %> <% Class.forName(DBDRIVER); conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD); pstmt=conn.prepareStatement(sql); rs=pstmt.executeQuery(); while(rs.next()){ int empno=rs.getInt(1); String ename=rs.getString(2); String job=rs.getAsciiStream(3); } rs.close(); pstmt.close(); conn.close(); %> </body> </html>
9、简述在JSP中如何实现分页操作的。
首先一定要确定的是分页有两种:
真分页:性能较高,是基于数据库的操作,只是从数据库中取出部分的数据进行显示,所有性能能高,但是可移植性低。
假分页:性能较低,是将全部的结果查询出来,以后依靠分页算法分页,只显示部分分页,因为使用的通用语法,所有可移植性高
真分页实现原理:
定义一系列的变量:currentPage、lineSize、并通过查询求出allRecorders和计算求出pageSize
PageSize=(allRecorders+lineSize-1)/lineSize
之后数据库查询语句中根据lineSize和currentPage进行数据的查询
Oracle中使用ROWNUM、mysql中使用limit()
之后通过表单不断的修改currentPage、lineSize就可以实现分页显示
10、介绍JSP中如何使用JavaBeans
JavaBean的格式要求:必须有包,public class声明、属性封装、无参构造、setter、getter
Import语句的导入或者通过<jsp:useBean>
11、说一说Servlet的生命周期
加载
初始化,正常一次:对应init()方法,有两个init()其中一个是有ServletConfig对象,此方法存在则无参不能调用,正常情况下在第一次使用Servlet的时候才进行初始化的操作,当然,也可以通过配置在容器启动的时候自动进行初始化<load-on-startup>
服务,服务多次:所有的服务都由services()方法分配,主要有doGet()和doPost(),分别处理get和post请求
销毁,正常一次:调用destroy()方法,如果一个Servlet()长时间不使用,也会自动销毁,而当再次使用的时候就必须重新进行初始化的操作
卸载
12、Servlet中forward()与redirect()的区别?
forward()方法是RequestDispatcher接口定义的,而redirect()是response定义的,一个是在服务器端跳转,另一个是客户端跳转
13、MVC的各个部分都是那些技术来实现,如何实现?
MVC:Model、view、Controller
Model:JavaBean:业务处理、数据处理
View:显示的JSP,最好不存在任何的Scriptlet可以使用标签消除
Controller:控制,接受View传递的内容和调用Javabean,并根据JavaBean的处理结果进行跳转
实现原理:所有的JSP将内容提交给Servlet,Servlet接收这些内容并调用相应的JavaBean进行业务及数据的处理,一般JavaBean有专人负责开发,完成业务的操作流程,而Servlet调用的只有接口,并根据这些接口的操作结果将内容给JSP进行显示,但是在显示的时候尽可能少出现Scriptlet代码。
14、简述国际化程序的实现思路
Locale、属性文件、ResourceBundle
国际化程序的实现,是根据本机的操作系统的语言类型,选择不同的属性文件,所有程序的基本代码一样,文字显示不一样,所有将内容作为属性文件出现之后,可以只显示属性文件中的文字
15、描述JSP和Servlet的区别、共同点、各自应用的范围
先有的Servlet再有的JSP、Servlet是在Java中嵌入HTML代码,而JSP是在HTML中嵌入Java代码
共同点:JSP可以完成的功能,Servlet都可以完成,但是对于过滤器、监听器只能有Servlet完成
应用范围:JSP用于显示,Servlet用于控制
16、简述web.xml的作用
属于部署描述符,在整个Java中只要是容器都会存在部署描述,此部署描述符可以控制整个WEB中各个组件的运行状态,也可以配置整个容器的状态:<error-page>、<welcome-file-list>、<servlet>、<session-timeout>、<filter>、<listener>
<%@ page language=”java” import=”java.util.* pageEncoding=”GBK””%>
凡是自动生成的代码,都需要重点注意:
public static void main(String args[]){ }