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[]){
}