模拟面试2

1.为什么需要分层模式?分层开发的优势有哪些?

分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。

2.请描述下jsp,html之间的关系?

    1、HTML能直接通过浏览器打开,而JSP只能发布到Tomcat服务器才能打开;
    2、HTML中不能嵌套Java代码,而JSP中可以嵌套Java代码;
    3、HTML是静态页面可以直接运行,而JSP页面运行时需要转换成servlet。

3.在一个JSP的请求处理中如何停止JSP的执行?

    使用return返回;

    <% 
    if (request.getParameter("wen") != null) { 
    // do something 
    } else { 
    return; 
    } 
    %>

4.为什么使用连接池?说出数据库连接池的机制是什么?

数据连接池把数据库连接放到中间服务器上,比如tomcat上,每次操作数据库的时候就不需要再"连接"到数据库再进行相关操作,而是直接操作服务器上的"连接池"。

  1.原理:一般来说,java应用程序访问数据库的过程是:

   ①装载数据库驱动程序;

   ②通过jdbc建立数据库连接;

   ③访问数据库,执行sql语句;

   ④断开数据库连接。


5.  描述分页的sql语句

select from content order by id desc limit 0, 10;


6.请描述什么是JSP内置对象?列举你知道的JSP内置对象并说明起作用。

 定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量

request  触发服务调用的请求  request  
response 对请求的应答 page
session 为请求的客户创建的session对象 session
application 从 servlet 配置对象获得的 servlet 上下文
out 向输出流写入内容的对象 page

page 实现处理本页当前请求的类的实例 page

7.请简要描述实现页面访问控制的流程。

(1)创建静态登录页面,并指定表单提交由登录处理页面进行处理。
(2)创建登录处理页面获得登录信息,查询数据库,判断该用户是否注册,如果该用户已注册,在session中保存该用户的登录信息,并且跳转到新闻发布系统的首页面,如果用户未注册,则仍然回到登录页面。
(3)创建登录验证处理页面从session中提取该用户信息再次验证用户信息是否存在,如果存在则显示首页内容,不存在则定位到登录页面。
(4)创建新闻发布系统首页面,调用登录验证处理代码,并显示首页面内容。

8.Overlodad和Override的区别。overload的方法是否可以改版返回值的类型?

Override是重写:方法名称、参数个数,类型,顺序,返回值类型都是必须和父类方法一致的。它的关系是父子关系
Overload是重载:方法名称不变,其余的都是可以变更的。它的关系是同一个类,同一个方法名,不同的方法参数或返回值。
重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。

9.写一个单例。

public  class Test { 
private  static Test ourInstance =  new Test(); 
public static Test getInstance() 
   return ourInstance; 
 }
   private Test() {
 }
}

10.请分别使用Java和JavaScript写出九九乘法表。

[java]  view plain  copy
  1. <script>  
  2. for( var a = 1; a < 10; a++ )  
  3. {  
  4.     for( var b = 1; b <= a; b++ )  
  5.     {  
  6.         document.write( b + "x" + a + "=" + a*b );  
  7.         document.write( " " );  
  8.     }  
  9.     document.write( "<br />" );  
  10. }  
  11. </script>  
[java]  view plain  copy
  1. public class Test_9x9 {    
  2.     
  3.     public static void main(String[] args) {    
  4.         //方形    
  5.         for (int i = 1; i <=9; i++) {    
  6.             for (int j = 1; j <=9; j++) {    
  7.                 System.out.print(j+"*"+i+"="+(i*j)+"\t");    
  8.             }    
  9.             System.out.println();    
  10.         }    
  11.     }    
  12.         
  13. }    


猜你喜欢

转载自blog.csdn.net/qwehehao1234/article/details/80267014