Java基础面试题及答案

.

SELECT dept_id from staff UNION All SELECT id from department MAX() MIN(expr) COUNT(DISTINCT expr,[expr...]) SUM(expr) UNION 求去重后的并集 UNION All 求全并集 minus 差集 2. 统计单笔消费超过50元的用户总共的消费次数以及消费总金额,总金额>2000

select cid,COUNT(*),SUM(money) from orders where money>50 GROUP BY cid HAVING SUM(money)>2000 3. SELECT s1.name,s2.name as mgrName from staff s1 LEFT JOIN staff s2 ON s1.mgr_id=s2.id

4.答案:

五种:

1.主键约束 PRIMARY KEY

2.外键约束 FOREIGN KEY

3.唯一约束 UNIQUE

4.检查约束 CHECK

.

.

5.非空约束 NOT NULL

5.答案:

mysql分页查询: select * from staff LIMIT 0,2

oracle的分页语句:3是起始记录号,6是终止记录号select * from ( select e.*, rownum rn from emp e ) emp_alias where emp_alias.rn>=3 and emp_alias.rn<=6 mysql分页语句:0是起始记录的

前一个数字,3是每页显示多少条数据 select * from 表名 limit 0,3 6. SELECT s.name,d.name,d.location from staff s,department d where s.dept_id=d.id and comm is not NULL

7. select s.name,d.location from staff s,department d where s.dept_id=d.id and s.name LIKE '%a%'

8. SELECT s.name,s.salary from staff s,(select AVG(salary) av,deptid did from staff group by deptid) tmp where s.salary>tmp.av and s.dept_id=tmp.did

Servlet部分

1.

1、request对象

2、response对象

.

.

3、session对象

4、application对象

5、out 对象

6、pageContext 对象

7、config 对象

8、page 对象

9、exception 对象

四大域对象:

HttpServletRequest:一次请求

HttpSession:一次会话

ServletContext:整个服务器生命周期

PageContext:当前页面

2.答案:

Servlet 生命周期:实例化--->初始化--->服务--->销毁。

.

.

init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。 service():它是Servlet的核心,负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。 destroy(): 仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。

5.答案:

1、模型(Model) : 模型是应用程序的主体部分。模型表示业务数据

2、视图(View) : 视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

3、控制器(controller) : 控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。 MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性

视图层:jsp、html超文本标记语言

.

.

控制层: servlet,controller,action

模型层:mybatis,entity,service

框架部分

1.答案:

1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.

2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。

3-4、DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的调用。

5、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。

6、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。

.

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4