模拟笔试2

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();  
        }  
          
    } 


猜你喜欢

转载自blog.csdn.net/kissceochao/article/details/80266967