JavaEE复习资料
题型:简答、程序填空、写小程序
一.简答题 1.什么是JavaEE?
1)JavaEE是一个标准中间件体系结构 2)JavaEE是企业分布式应用开发标准 2. JavaEE的设计思想?
JavaEE为满足开发多层体系结构的企业级应用的需求,提出了”组件—容器”的编程思想。
3.简述JavaEE里面所包括的主要技术?
JavaEE里主要技术包括 :组件技术、服务技术 、通信技术。 4.描述一下如何去构建一个JavaEE的开发环境?
搭建一个基于JDK+NetBeans IDE配置的JavaEE集成开发环境,需要安装 JDK和NetBeans IDE,双击安装程序并进行各自安装选项设置。
5.什么是servlet?
Servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用了扩展服务器的功能,可以生成动态的web页面。
6.servlet的工作过程是什么? 1)客户机将请求发送到服务器
2)服务器上的web容器实例化装入servlet,并为servlet进程创建线程
3)web容器将请求信息发送到servlet
4)servlet创建一个响应,并将其返回到web容器 5)web容器将响应发回客户机
6)服务器关闭或servlet空闲时间超过一定限度时,调用destory()方法。
7.简述servlet上下文及其作用?
服务器上的每个web应用都会有一个背景环境对象,称为上下文。其作用:
1) 访问web应用程序资源
2) 在servlet上下文属性中保存web应用程序信息 3) 获取初始化参数信息 4) 提供日志支持
8.web容器的作用是什么,常见的web容器有哪些?
给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量交互,不必关注其它系统问题。主要有
WEB
服务器来实现。例如:
Tomcat,weblogic,websphere等。 9.简述什么是servlet filter,并说明其作用?
Filter是servlet接收请求前的预处理器,它可以改变一个请求或修改响应。作用有:用于访问特定资源时的身份验证;用于
访问资源的记录跟踪;用于访问资源的装换。 10.简述JSP内置对象,及其作用范围? 常见的JSP内置对象有:
request对象,代表的是来自客户端的请求 response对象,代表服务器对客户端的响应
session对象,支持web应用程序开发过程中的会话管理 application对象,代表运行在服务器上的web应用程序 out对象 代表了向客户端发送数据的对象
exception对象,用来处理JSP文件在执行时所有发生的错误和异常
内置对象的作用范围有:page、request、session、application。
11.简述<JSP:forward>和JSP:response的区别? 二者主要是重定位方式之间的区别,<JSP:response>中通过对向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到制定的页面,所有浏览器的地址栏上可以看到地址的变化,而<JSP:forward>是直接在服务器端执行重定位的,浏览器的地址不会改变。
12.简述include指令和include动作有什么区别?
Include动作在执行时才对包含的文件进行处理,因此JSP页面和它所包含的文件在逻辑上和语法上是独立的,如果对包含的文件进行了修改,那么运行时可用看到所包含文件修改后的结果。
而静态的include指令包含的文件如果发生变化,必须重新将JSP页面转译称Java文件,否则只能看到所包含的修改前的文件内容。
13.什么是JavaBean,以及JavaBean在设计时遵循的规则? JavaBean组件是一些可移植、可重用,并可以组装到应用程序中的Java类。
规则:a.对于数据类型”protype”的每个可读属性,Bean必须有下面签名的一个方法:public proptype getProperty(){}
b.对于数据类型”protype”的每个可写属性,Bean必须有下面签名的一个方法:public setpropery(prootype x){} c.定义一个不带任何参数的构造函数 14.简述什么是自定义标记?
JSP自定义标记可以看成是对JSP标准动作标记的一种扩展,是用户定义的以XML形式表示的JSP语言元素。 15.自定义标记有那些分类?
根据对 体内容 的不同行为,自定义分为 处理体内的标记和简单标记 两类。 16.自定义标记的原理?
当web容器编译JSP页面遇到自定义标记时,web容器根据标记库指令调用标记处理程序进行处理,web容器通过调用接口的回调方法,来解析自定义标记。
当在JSP页面中遇到自定义标记时,web容器不需要都去实
例化一个新的标记,只需在一个标记实例池中寻找一个没有被使用的标记处理程序实例,然后初始化,使用它,最后释放它。 17.简述JDBC的工作原理?
首先注册数据库驱动程序,然后根据具体的JDBCURL地址,调用DriverManager对象的getConnection()来获取一个代表数据连接的Java.sql.connectuion对象。 18.简述JavaMail的体系结构? JavaMail体系分为三层:
抽象层,该层定义了用于邮件处理功能的抽象类、接口和
抽象方法。
Internet邮件实现层,该层实现了部分抽象层元素,遵循
Internet标准—RFC822和MIME.
协议实现层,该层由服务提供商实现对特定协议的支持,
如POP、SMTP.
二.程序填空涉及的知识点(需看看代码) 1.servlet对字符集的处理 (p24) 例子:
package hall;
import java.io.;import javax.servlet.;import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {PrintWriter out = response.getWriter();out.println(“Hello World”);}}
2.servlet中如何向客户端发送非HTML文档 (P37)
3.如何配置servletFilter(怎么写配置文件) P39
4.在JSP中如何去声明内嵌方法P90
5在Java中如何去链接Mysql
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class MySQLJava {/**
- @param args* @throws Exception*/
public static void main(String[] args) { Connection conn = null; Statement state = null; ResultSet result = null;
// TODO Auto-generated method stub try {
Class.forName(“com.mysql.jdbc.Driver”);
conn = (Connection) DriverManager.getConnection( “jdbc:mysql://localhost:3306/mydata”, “root”, “密码”);//注意接口和数据库名
state = conn.createStatement(); String sql = “select * from dept;”; result = state.executeQuery(sql); while (result.next()) {
System.out.println(result.getString(“deptno”)); }
} catch (Exception e) {
// TODO Auto-generated catch block e.printStackTrace();
} finally { try {
result.close(); state.close(); conn.close(); } catch (Exception e) {
// TODO Auto-generated catch block e.printStackTrace(); } }}} 三.小程序- servlet程序:登陆表单 通过servlet处理 验证用户名和密码 P63
- HTML程序:写一个HTML文档,要求设一个框,通过servlet登陆后 计算累加,阶乘。P62
求阶乘和(20个数) public class qwer{
public static void main(String args[]){ long a,u,b;
u=1; b=0;
for(a=1;a<=20;a++){ u=u*a; b=b+u;
System.out.println(“a!=”+ b ); } }}