1为什么需要分层模式?分层开发的优势有哪些?
因为业务处理代码与JSP代码混在一起,不易阅读,不易代码维护。
优势:1.职责划分清晰;2.无损替换;3.复用代码;4.降低系统内部依赖程度。
2.请描述下JSP,HTML之间的关系?
1、HTML能直接通过浏览器打开,而JSP只能发布到Tomcat服务器才能打开;
2、HTML中不能嵌套Java代码,而JSP中可以嵌套Java代码;3、HTML是静态页面可以直接运行,而JSP页面运行时需要转换成servlet。
3.在一个JSP的请求处理中如何停止JSP的执行?
<%
if (request.getParameter(“wen”) != null) {
// do something
} else {
return;
}
%>
4.为什么使用连接池?说出数据连接池的机制是什么。
数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。
机制:(1) 程序初始化时创建连接池
(2) 使用时向连接池申请可用连接
(3) 使用完毕,将连接返还给连接池
(4) 程序退出时,断开所有连接,并释放资源
5.请描述分页显示的SQL语句如何实现?
SELECT * FROM content ORDER BY id desc LIMIT 0,10;
6.请描述什么是JSP内置对象,列举你知道的JSP内置对象并说明其作用?
jsp内置对象,是指可以不加声明和创建就可以在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量。
request对象
session对象
application
7.请简要描述实现页面访问控制的流程
(1)创建静态登录页面,并指定表单提交由登录处理页面进行处理。(2)创建登录处理页面获得登录信息,查询数据库,判断该用户是否注册,如果该用户已注册,在session中保存该用户的登录信息,并且跳转到新闻发布系统的首页面,如果用户未注册,则仍然回到登录页面。
(3)创建登录验证处理页面从session中提取该用户信息再次验证用户信息是否存在,如果存在则显示首页内容,不存在则定位到登录页面。
(4)创建新闻发布系统首页面,调用登录验证处理代码,并显示首页面内容。
8.Overload和Override的区别,Overload的方法是否可以改变返回值的类型?
Override是重写:方法名称、参数个数,类型,顺序,返回值类型都是必须和父类方法一致的。它的关系是父子关系Overload是重载:方法名称不变,其余的都是可以变更的。它的关系是同一个类,同一个方法名,不同的方法参数或返回值。
重写Overriding是父类与子类之间多态性的一种表现,
重载Overloading是一个类中多态性的一种表现。
Overloaded的方法是可以改变返回值的类型。
9.编程题:写一个Singleton出来
/**
* 饱汉式单例模式
* @author lzq31
*
*/
public class Service2 {
private static Service2 service = new Service2();
private Service2() {
}
public static Service2 getInstance() {
return service;
}
}
/**
10.分别使用Java和JavaScript写出九九乘法表
Java方式
public class Hello {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("" + i + " * " + j + " = " + (i*j) + "\t");
}
System.out.println();
}
}
}
JavaScript方法
<script>
for( var a = 1; a < 10; a++ )
{
for( var b = 1; b <= a; b++ )
{
document.write( b + "x" + a + "=" + a*b );
document.write( " " );
}
document.write( "<br />" );
}
</script>