1.为什么需要分层模式?分层开发的优势有哪些?
开发效率高,方便团队分工。
优势是可以规范代码,忽略数据库差异。
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.为什么使用连接池?说出数据连接池的机制是什么?
由连接池来管理数据库连接的建立和注销。连接池初始化时建立多条连接,供给不同的请求使用,多个请求可以共享同一连接,这样做,就可以减少打开、关闭数据库连接的操作,从而改善了系统的性能。
J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端
程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空
闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池
连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
实现方式,返回的 Connection 是原始 Connection 的代理,代理 Connection 的 close 方法
不是真正关连接,而是把它代理的 Connection 对象还回到连接池中。
5.请描述分页显示的SQL语句如何实现?
select * from t_student limit 0,10;
6.请描述什么是JSP内置对象?列举你知道的JSP内置对象并说明其作用?
定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 内置对象 代表内容 范围
request 触发服务调用的请求 request
response 对请求的应答 page
session 为请求的客户创建的session对象 session
application 从 servlet 配置对象获得的 servlet 上下文(如在getServletConfig() ,getContext()的调用中) application
out 向输出流写入内容的对象 page
7.请简要描述实现页面访问控制的流程?
(1)创建静态登录页面,并指定表单提交由登录处理页面进行处理。
(2)创建登录处理页面获得登录信息,查询数据库,判断该用户是否注册,如果该用户已注册,在session中保存该用户的登录信息,并且跳转到新闻发布系统的首页面,如果用户未注册,则仍然回到登录页面。
(3)创建登录验证处理页面从session中提取该用户信息再次验证用户信息是否存在,如果存在则显示首页内容,不存在则定位到登录页面。
(4)创建新闻发布系统首页面,调用登录验证处理代码,并显示首页面内容。
8.Overload和Override的区别。Oveload的方法是否可以改变返回值的类型?
重载: 同一个类中,方法名相同,参数列表不同。与返回值类型无关。
重写: 存在于子父类,或者子父接口中,方法声明相同。
Overload的方法可以改变返回值的类型,因为它与返回值类型无关。
9.编程题:写一个Singleton出来。
public class Singleton { private static Singleton instance = null; public static synchronized Singleton getInstance() { //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 //使用时生成实例,提高了效率! if (instance==null) instance=new Singleton(); return instance; } }
10.请分别使用java与javaScript 写出九九乘法表。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>九九乘法表</title> </head> <body> <div id="cf"></div> <script> function test() { var str = ""; for(var x = 1; x <= 9; x++) { for(var y = 1; y <= x; y++) { str += y + "x" + x + "=" + y * x + " "; if(y == x) { str += "<br>"; } } } document.getElementById("cf").innerHTML = str; } test(); </script> </body> </html>
public class Test_9x9 { public static void main(String[] args) { //倒三角 for (int i = 1; i <=9; i++) { for (int j = 1; j <=i; j++) { System.out.print(j+"*"+i+"="+(i*j)+"\t"); } System.out.println(); } }