⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 笔试测试2-answer.txt

📁 Java大部分的基础知识,EJB3,EJB2,WEBSERVICE,SOAP,JMS,MQ,还有些面试题
💻 TXT
📖 第 1 页 / 共 2 页
字号:
七、spring原理	
	spring的最大作用ioc/di,将类与类的依赖关系写在配置文件中,
	程序在运行时根据配置文件动态加载依赖的类,降低的类与类之间
	的藕合度。它的原理是在applicationContext.xml加入bean标记,
	在bean标记中通过class属性说明具体类名、通过property标签说明
	该类的属性名、通过constructor-args说明构造子的参数。其一切都是
	返射,当通过applicationContext.getBean("id名称")得到一个类实例时,
	就是以bean标签的类名、属性名、构造子的参数为准,通过反射实例对象,
	唤起对象的set方法设置属性值、通过构造子的newInstance实例化得到对象。
	正因为spring一切都是反射,反射比直接调用的处理速度慢,所以这也是spring
	的一个问题。
	spring第二大作用就是aop,其机理来自于代理模式,代理模式
	有三个角色分别是通用接口、代理、真实对象
	代理、真实对象实现的是同一接口,将真实对象作为
	代理的一个属性,向客户端公开的是代理,当客户端
	调用代理的方法时,代理找到真实对象,调用真实对象
	方法,在调用之前之后提供相关的服务,如事务、安全、
	日志。其名称分别是代理、真实对象、装备、关切点、连接点。
八、hibernate原理
	hibernate是一个o/r mapping工具,让我们的工作量减少了95%。
	其有一个核心配置文件hibernate.cfg.xml,说明数据连接及具体
	o/r mapping文件所在的位置,说明了连接就说明了有了Connection,
	可以与数据库交互。
	在具体的o/r mapping文件*.hbm.xml文件中说明了对象与表,
	属性与字段的对应关系,当增加时可以直接
	向save方法传入一个对象,hibernate会通过o/r mapping文件
	找到当前对象的get方法,通过返射调用get方法取出对应属性的值
	设置到对应的数据库字段是,构造成一个sql,执行sql,开发人员不
	用写sql就可以开发。
九、struts原理
	struts的核心类是ActionServlet,其可以接收所有.do结尾的请求。
	核心配置文件是struts-config.xml文件说明url与Action及ActionForm的对应关系,url不可以重复。
	在web.xml中说明ActionServlet、其可以接收所有以do结尾的请求;
	说明struts-config.xml所在位置,以参数的形式传给ActionServlet。
	当启动容器时,容器(tomcat、weblogic)实例化ActionServlet,初始化
	ActionServlet,在初始化ActionServlet时加载struts-config.xml文件。
	当客户通过url.do将请求发给ActionServlet,ActionServlet将处理
	转发给助手RequestProcessor,RequestProcess通过struts-config.xml
	找到对应的actionForm及action,如果有ActionForm用已有的,没有
	通过类的反射实例化ActionForm,通过反射将表单域的值填充到actionForm中。
	如果有Action用已有的,没有产生一个新的,通过反射调用action的
	execute方法,在执行前将actionForm通过参数注入到execute方法中,
	execute	方法执行结束前通过actionMapping找到actionForward转发到
	另一个jsp页面中。
十、jsp的九大内置对象
	作用域对象:
		page:当前jsp页面内有效,代表当前jsp对应的servlet
		request:封装了客户请求的所有信息。
			request.getPrameter();
			request.setAttribute("名称","对象");
			reqeust.getAttribute("名称");
			//转发,将当前页面的request及response传到了下一个页面
			request.getRequestDispatch("a.jsp").forward(request,response);
		session:一个用户多个页面共享同一变量,是HttpSession的实例。 
		application:多个用户多个页面共享同一变量,是ServletContext
		      的实例。
		response:向客户端的响应。
		out:向客户端输出文本或字节。		
		pageContext:当前jsp页面的环境,可以得到其它八大内置对象
			    在自定义标签中用的很多。
			pageContext.getSession();
			pageContext.getRequest();			
	
		config:是ServletConfig的实例,代理当前jsp页面配置。
		exception:在错误页面中(error.jsp)有效,即当isErrorPage="true"有效。
			  正常页面errorPage="error.jsp",正常页面有错误
			  时跳到错误页面。
八、软件开发的过程:在面试时一定说明参与某一模块的从需求与测试的所有过程,
                   在一团队中,项目组长(经理)将某一模块的需求、整体设计、
                   开发安排给我完成,每天都要提交最新的文档,每周通过项目
                   会议讨论每个人的需求、设计,找出问题并合并相关模块。
	需求(30%):在需求结束后一定的客户签字认可,在合同中要写明验收时以需
		  求说明书为准,当确认后若需求发生改变,需与商务另行商定。
		  如果因为客户的原因导致需求滞后,项目进度依次后推。
		  需求说明书:
		  	整体说明:
			  	use-case图:整体的功能、角色说明,确定
			  	           客户需求的功能范围。
			        需求特征列表:通过功能列表简要说明每一个功
			        	能,确定该功能的优先级、风险度。
			详细的说明:
			  	用例说明及活动图:
			  		用例说明有六大元素:
			  			简要描述:
			  			参与者:角色
			  			基本流:最正常的情况
			  			扩展流:可以的情况的处理
			  			前置条件:前提
			  			后置条件:结果
			  		活动图:以图表的方式说明业务流程,
			  		       对于复杂功能要通过活动图说
			  		       	明。
			  	界面原型:需求可视化。
	整体设计(30%):
		业务流程:系统功能及复杂用例的流程。
			bbs业务流程
		业务实体:根据业务流程确定业务实体、体现ooa思想、数据库设计的思想。		
			bbs业务实体
		技术框架:将业务实体与具体的技术框架结合在一起开发。
			轻量的技术框架
				jsp&servlet&dao&javaBean:速度是最快的,因为没有的大量解析xml文件,
					没有大量使用反射,工作量大,可配性、扩展性不是很强。
					(web)model2 MVC
						v:jsp,页面
						servlet:control控制器
						m:javaBean
					业务层:
						IFacade接口
						Facade实现类
						FacadeFactory产生Facade实现类实例,返回IFacade接口,用了单例模式。
					dao层:
						dao接口
						dao实现类
						dao工厂
						抽象的dao工厂
						
						有一个dao接口,一个dao实现类,一个dao工厂,通过dao工厂产生dao实现
						类的实例,返回dao接口。抽象的dao通过反射、单例、工厂模式产生具体的
						dao工厂,返回抽象的dao工厂,因为具体的dao工厂继承于抽象的dao工厂,向
						业务层返回的是抽象dao工厂,实际调用还是具体的dao工厂方法。
						
						画图表示						
					jdbc:执行速度快,介代码的工作量大。
						写一个通用接口
						一个实现类						
						核心类:
							Class.forName("");//注册驱动
							Connection
							PreparedStatement(Statement)
								executeQuery();//select
								executeUpdate();//insert update delete
							ResultSet:结果集
								while(rs.next())
								{
									rs.getString();
								}
								if(rs.next())
								{
								
								}
				struts&dao&hibrenate:速度慢一些,因为要解析xml文件,要比较多使用反射。
					(web)struts MVC
						1、mvc
							m:model javaBean
							v:view actionForm
							c:control
								ActionServlet:接收所有以.do结尾的请求
								Action:做具体业务处理。
								ActionMapping:封装action标签中的所有内容,通过
									url找开action、actionForm,通过名称找到
									ActionForward
									<action path="/login" type="struts.action.LoginAction"
										name="loginForm" attribute="loginForm" scope="request"
										<forward name="success" path="/success.jsp">
									/>
								ActionForward:转发到另一个页面
						2、请求处理过程
						        url.do通过url在struts-config中找到对应的action及actionForm
						        如果有actionForm用已有,没有根据类的反射实例化一个新的form,放到作用域对象,
						        	并根据类的反射将表单域的值封装到actionForm中。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -