工作相关面试题就业知识要点_第1页
工作相关面试题就业知识要点_第2页
工作相关面试题就业知识要点_第3页
工作相关面试题就业知识要点_第4页
工作相关面试题就业知识要点_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

css在一个内使用style属性编写css内 弊端:是只对当前起作通常会在html的<head>内使用<style>编写css内好处:可以控制多个弊端:html代码和css都写在html文件中,不好(推荐使用)独立一个css后缀的文件编写css内容,然后在html文件中使用<link>导入外css2)好处:和html优先级:行内样式 内部样式、外部样1var234、4种基本数据类型:Undefined,Boolean,NumberString,typeof可以获取一个boolean类型vara=varb=012;//八进制 varc=0x12;//十六进制18要定义浮点值,必须包括小数点和小数点后的一位数字(例如,用1.01。这被vara3.14;//varb1.//1varc=10.0//10。无论何时比较一个数字和一个字符串,ECMAScript都会把字符串转换成数字,然后按照数字顺序比较它们。===三个等号时,会先判断变量的类型,再判断变量的值。varbTrue=varbResult=(bTrue&&bUnknown); 这段代码在进行逻辑AND运算时将错误,因为变量bUnknown是未定义的。变量bTruetrueANDbUnknown。这样做就会错误,因为bUnknown的值是undefined,不能用于逻辑AND运算。 true注意事项3.javascript4.参数

237、JavaScript函数天然的支持可变参数。8、同名的函数最后会覆盖前面以。Javascript中没有函数重载全 ObjectModel,即文档对象模型浏览器在解析HTML页面标记的时候,其实不是按照一行一行并解析的,HTMLDOM树, lastChild获取当前节点的最后一个子节点。 previousSibling(弟节点nodeType节点类型nodeName节点名称nodeValue节点值nodeType 就是元素,例<div>..</div> 元素中的文本注 表示为注nodeName元素节点的nodeName是名称nodeName文本节点的nodeName是文档节点的nodeName是#对于文本节点,nodeValue属性是所包含的文本。对于属性节点,nodeValue属性是属性值。对于注释节点,nodeValuenodeValue elt.setAttribute("属性名","属性值") elt.insertBefore(new,child); 数1:要插入的节点 参数2:插入目标元素的位置 =值;element.innerHTML文本内容;void表示这个方在本类中的每个单元测试方法之前都执行一次。void表示这个方在本类中的每个单元测试方法之后都执行一次。void表示这个方在本类中的所有单元测试方法之前执行,只执行一次void表示这个方在本类中的所有单元测试方法之后执行,只执行一次语法:<![CDATA 依序读入文件并产生相对应,可以处理任何XMLXML通常只去能XML文件内容修改起来很麻XML开发上比较复杂,需要自己来制作处理基于SAX(的处理)的优点和缺据被处理。而且,由于应用程序只是在数据时检查数据,因此不需要将数据在内可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。它可以在任何时候在树中上下导航,而不是像SAX那样是的处理DOM使用起来也要简单得多。HttpHttp1.0HTTP1.0webweb(连HTTP1.1协议,允许客户端与web服务器建立连接后,在接上获取多个web资据传,客户端通过这两种方式都可以带一些数据给服务器:GETURL地址后以?的形式带上交给服务器的数据GET/mail/1.html?name=abc&password=xyzGET方式的特点在URL地址后附带的参数是有限制的其数据容量过1K。另一方面,一些用户等数据不适合以GET方式提交。POSTPOST/servlet/ParamsServletHTTP/1.1Content-Length:28Post方式的特点:传送的数据量浏览器输入: http本地hosts文件查询和ip的映找不到,联网到运营商的DNS服务起器找和ip web 资源名称。截取到 o字符day10web.xmlservletweb.xmlservletservlet-class字符串: 通过反射构 oServlet对象调用方 ServletServlet的类加载与实例化(调用构造方法Servlet实例的初始化(init方法)Servlet提供服务(service方法)Servlet的销毁(destroy方法)Servlet的类加载与实例化(Servlet对象创建时机)默认情况下,第一次时加载Servlet类并进行实例化。ClassLoader直接载入并实例化0load-on-startup:ServletClassLoader直接载入并初始化数值越低(从0开始计数),载入的优先级越高。否则,用户第一次的时候才实Servlet。web.xmlServletServlet将要使用的资源作初始化,如读入配置文件信息等(只执行一次)。servletinitservlet实例ServletConfiginit方法的参数传入。该配置对象允许servlet从Web应用的配置信息中出初始化参数的名-init(ServletConfigServletGenericServlet另外提供的目的是使得开发人员更简单的定制Servlet提供服务(service方法初始化后,ServletServlet对象servletservice()方法,向客户端提供服务Servlet的销毁(destory方法Servletservlet的destroy()servlet成一些资源释放,停止程序等工作。释放或销毁一些非内存资源。destory只Servlet在web容器里是单实例多线程的。当多个客户端并发同一Servlet时,web服务器会为每一个客户端的请求创建一个线程,并在这线程上调用Servlet的service方法,因此service方法内如果了同一个资源的话,就有可能线程安全问题。开发出线程安全的Servlet的两点建议:servlet中使用局部变量(servlet中使用实例变量。例如:Stringuseruser=sevice方法和响应方法主要用来web.xml中配置的Servlet初始信息,不能被其它Servlet共享。还可以用于ServletContext。ServletConfigAPI,并举例说明该对象的作用:WEBWEBservlet时,可以通过ServletConfig.getServletContext方法获得对ServletContext对象的。因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContextcontext域对象。getAttribute(java.lang.Stringname)removeAttribute(java.lang.Stringname)设置全局参数(servlet都能用)java.lang.StringgetRealPath(java.lang.Stringpath)得到绝对 2、响应对象(HttpServletResponse对象)Response对象的常用方法:2)设置响应内容类型(可用于随机,设置输出内容格式4)设置响应头(可用于文件,定时刷新,控制网页缓存文件3(HttpServletRequest对象)getRequestURI方法返回请求行中的资源名部分。getQueryString方法返回请求行中的参数部分。Servlet的路径之后和查询参数之前的内容,它以“/”开头。getRemoteAddrIP地址getRemotePort方法返回客户机所使用的网络端getLocalAddrWEBIP地址。getLocalNameWEB服务器的主机名getHeader方法getHeaders方法getParameter方法getParameterValues(Stringname)方法getParameterNames方法getParameterMap方法 的特 (VALUE一个WEB站点可以给一个WEB浏览器发送多个 可以多个WEB站点提供的 浏览器一般只允许存放300个 ,每个站点最多存放20个 的大小限制为4KB。如果创建了一个,并将他发送到浏览器,默认情况下它是一个会话级别的(即在浏览器的内存中,用户退出浏览器之后即被删除。若希望浏 将最大时效设为0则是命令浏览器删除该 注意,删 4、SessionWEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象,注session对象(默认情况下)。因此,在需要保存用户数据时,session中,当用户使用浏览器session中取出该用户的数据,为用户服务。Session和的主要区别在于:SessionsessionSessionrequest对象的getSession方法得到session。publicvoidsetMaxInactiveInterval(intweb.xml

JSP引擎工作原理1)首先,客户端发出请求(request),请求JSP网页2)接着,JSPContainer将要的.JSP文件转译成Servlet的源代码(.java文件)Servlet(.java文件最后把结果响应(response的成员变量和方法。定义在多个JSP中。良好的编程习惯,pageJSP页面的起始位置。*import="JSPimport可以写多次"session"truebuffer="none|8kb|sizekb"JSP8kb需要手工刷新到客户端"true安全",truejsp的信息exception对象JSP引擎将JSP页面翻译成ServletJSP页面,那么JSP引擎将把这两个JSP翻译成一个servlet。所以include指令引入通常也称之为静态引入。<%@includefile属性用于指定被引入文件的相对路径。file属性的设置 ,建议使用.jspf(JSPfragments)作为静态引入文件的扩展名。由于使用include指令将会涉及到2个JSP页面,并会把2个JSP翻译成一个servlet,所以这2个JSP页面的指令不能(除了pageEncoding和导包除外。JSP949 responseHttpServletResponse applicationServletcContext pageContext(使普通Java类可WEB资源,自定义常用的运行环境,这个对象不仅封装了对其它8大隐式对象的,它自身还是pageContext获得其他对象getPagepage隐式对象getRequestrequest隐式对象getResponseresponse隐式对象getServletConfigconfig隐式对象getSessionsession隐式对象pageContext(page域)request(称之为request域)session(session域)4个对象的生命周期?EL提供了自己的一套隐含对象,方便在页面内对各种常用数据信息的ELJSP按照 value的形式取出value:是一个String类型的keyvalueheaderValuesvalueString contextEL<%@pageisELIgnored="false"%>配置web.xml也可达到同样的效果(同时存在,那种起作用?(禁用和EL) 是falsepageisELIgnoredweb.xml中通过<el-ignored>设<jsp:include>用于把另外一个资源的输出内容插入进当前JSP页面JSP页面执行时的引入方式称之为动态引入。<jsp:includepage="relativeURL|<%=expression%>"flush="true|false"/>false。<jsp:include>是动态引入,<jsp:include>涉及到的2个JSP页面2servlet2servlet的内容在执行时进行合并。并输出,所以这两个页面不要出现重复的HTML全局架构,否则输出给客户端的内容将会是一个格式的HTML文档。<jsp:include>:使用page属性指定被引入资源includefile<jsp:forwardpage="relativeURL|<%=expression%>"/>当使用<jsp:include>和<jsp:forward>引入或将请求转发给其它<jsp:includepage="relativeURL| value="parameterValue|<%=expression%>"/><jsp:forwardpage="relativeURL| value="parameterValue|<%=expression%>"/>值。在<jsp:include<jsp:forward<jsp:param>来传递多个参数5

常用的设置域对象数 输出域对象数 <c:out单条件判 <c:if 只有if没有

<c:choose></c:choose>+<c:whentest=""></c:when>循环数据:数组、List集合、Map集合(经常用必须练习:数组、List集合,Map集合的练习循环数据:特殊字符串 <c:forTokensitems=""delims=""></c:forTokens> :自动带了应用的路径 请求重定向:替代自定义(简单作用:当jsp的内置或者jstl不满足我们,这时需要自定义三个步骤:需求:使用自定义输出客户的ip地doTag():执行的方法,由web服务器调getParent():得到父setJspBody(JspFragmentjspBody)传入主体内容。由web服务器调用setJspContext(JspContextpc)PageContextweb服务器调用setParent(JspTagparent)传入父。由web服务器调用置这个 <!--一个的配置-- <!--默认empty:表示空,么有主体内容--导入:<%@taglib "使用: JDBC的|-DriverConnectionconnect(Stringurl,Propertiesinfo)用于获取数据库连接Statement prepareStatement(Stringsql)sql创建过程的sql语句对|-StatementSQLintexecuteUpdate(Stringsql)ResultSetexecuteQuery(Stringsql)|PreparedStatementintexecuteUpdate()sqlResultSetexecuteQuery()执行查询操作的|CallableStatement接口ResultSetexecuteQuery()booleannext(:把光标移动到下一行。如果下true,如果没有下一行数预编译sql语句中使用?进行参数占位,后面 在进行StatementJDBC2000sqlsql到数据库voidaddBatch(Stringsql)sql到缓存区(暂时不发送)int[executeBatch(sqlvoidclearBatch()sql缓存区voidaddBatch(int[executeBatch(sqlvoidclearBatch()sql缓存区4性:多个并发事务直接应该可以相互脏 幻 mitted:否否readcommitted是否否epeatable是是否是是是结论:性越高,数据库的性能越差脏读:指一个事务了另外一个事务未提交的数据不可重复读:在一个事务内表中的某一行数据,多次结果不同虚读(幻读):是指在一个事务内到了别的事务插入的数据,导致前后不过滤器其实就是一个接口,FiltertomcatServlet(1)web服务器运行2)web.xml文件中配置Servlet接口Filter接口Listener接口webwebinitdoFilterdestroywebweb过滤器中的url-pattern:表示的这个过滤器需要的目标资源路(可以servlet路径,Servlet中的url-pattern:表示这个servlet时的路 浏览器目标资源的路精确过 模糊过 / *.后缀 任意路径.后缀称

1)url-pattern要么以斜杠开头,要么以*开头 例如:o2)不能同时使用两个模糊过滤。例如/*.do是的url-pattern如果是动态资源servlet,可以使用servlet的名称,也可以使用内部doFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)务参数一:ServletRequest是HttpServletRequest的父接口。实际上传入的是HttpServletRequest参数二:ServletResponse是HttpServletResponse的父接口。实际上传入HttpServletResponse参数三:FilterChain过滤器*****过滤器链:一个目标资源可以被多个过滤器过滤,那么形成一个过滤器链。***注意过滤器链中的过滤器执行顺序问题由web.xml中filter-map的配置决定顺序。器6、web开发器:开发者在web开发的过程中会频繁使用到三个对象ServletContext、时,触发一些,就可以使用web器去这些。webweb对webServletContextServletContext ServletRequestServletRequestHttpSessionHttpSession创建项目中配置的过滤器对象package默认的包的定义(struts- 2.转发到action 1.转发到jsp 3.重定向到jsp 4.重定向到action 返回的结果是流(文件(重定向到)所有的器的定struts2把一个的功能实现,通过一个个器完成!执行默认的器,有18个!默认执行的器栈、默认执行的action用户再执行“器方法 <constantname="struts.i18n.encoding"value="UTF-<constantname="struts.action.extension"设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为 开发模式下使用,<constantname="struts.devMode"value="true"默认的视图<constantname="struts.ui.theme"value="simple"<constantname="struts.objectFactory"value="spring" 2、首先查询namespace为/ o_a/a/b的package, 的 的4、查询namespace为/ o_a的package, 的查询名字 oWorld的action(默认名空间为空字符串“/” 配置路径 struts.xml配置ActionSupportexecute()successStruts2默认后缀处理原则cuteFilter是否则不做任何处理。例如:请求路径为/index.jsp直接页default.prroperties 除了在struts.xml中配置自定义的后缀以外还可以在项目的src perties用户自定义配置文件动态方法调用urlAction默认情况下Struts的动态方法调用处于激活状态若想禁用该功能则可以在struts.xml文件中添加如下constant元素:<constantname="struts.enable.DynamicMethodInvocation"result定义为全局结果。resultresult。(开发者可以定义构造函数输出来测试)接口实现类13、转换3.1需要转换的字段名= 以上的转换器时候是与Action的名字相耦合的,因此只能在自己用,称之为局部转换器方式。如何定义全局类型转换器呢13、转换在项目 下建立以下固定文3.1需要转换的类类型= 该器负责对错误信息进行器<interceptorStruts2ServletAPI的解耦传统方式Struts2利用器注入属性的方式Struts2器在某个Action方法之前或之后实施,Struts2拦截器是可插拔的,器是AOP的一种实现。器栈(InterceptorStack):将器按一定的顺序联结成一条链.在访阅读该接口API,所有的自定义器都需要实现该接口,且以单例运行。init:创建后初始化时被调用,它在器的生命周期内只被调用一次。interecept:每一个动作请求,该方法就会被调用一次。destroy:器被销毁之前被调用,它在器的生命周期内也只被调用一次Struts2自定义器实23、和自定义器自定义器的和注意:自定义的器的一定要在默认器的下Struts2自带的器AliasChainingAction的属性可以被后一Checkboxfalsehtml默认情况下不提交没checkbox。sssConversionErrorCreateSession要使用到HttpSession的器服DebuggingExecuteandWaitActionExceptionFileUpload提供文件上I18nLoggerMessageStore器ModelDrivengetModel得到的结果放在ValueStackScopedModelAction实现了Scopemodel调Action内部。Parameters将请求中的参数设置到ActionPrepare该器调用Action类的prepareScopeServletConfig提供HttpServletRequest和HttpServletResponse的方法,以Map的方式。StaticParameters从struts.xml文件中将中的中的内容Action中。RolesTimerTokenTokenSessionTokenInterceptor一样,不过双击的时候把请求的数据在Session中Validationaction-validation.xml文件中定WorkflowActionvalidate方法,一旦ParameterFilterOGNL有一个上下文(Context)MAP结构,它实java.utils.Map的接口。OgnlValueStack类,Struts2OGNL的基础。ValueStack贯穿整个Action的生命周期(每个Action类的对象实例都拥ValueStack对象相当于一个数据的中转站在其中保存当前Action对象Struts2ValueStackstruts.valueStackObjectStack:Struts把动作和相关对象压入ObjectStack中--ListContextMap:Struts把各种各样的映射关系(一些Map类型的对象)压入ContextMap中Struts会把下面这些映射压入ContextMap中parameters:该Map中包含当前请求的请求参数requestMaprequest对象中的所有属性sessionMapsessionapplication:该Map中包含当前application对象中的所有属性attr:该Map:request,session, 变 值栈以struts.valueStack的名字在request请求中,值栈主要包含两Map栈。对象栈的是用户的基本数据和对象数据;Map栈主要的是域对象属性。Action实例,对应一个值栈对象。 request session application parameters attr可以被OGNL。注意Struts2中,OGNL表达式需要配合Struts才可以使用。如:<s:property#号主要用于Map栈信息不使用#号主要用于List(对象栈)信息(list0为栈顶)OGNL表达式里直接写上属性的名称即可root变量里对象如果没有找到就从第三个对象寻找,依次往下,直到找到为止<actionname="ognlAction_*" .ognl.OgnlAction"<result总结:为了方便使用%{}我们可以在任何地方都直接添加%{}OGNL表达式:<s:propertyvalue="%{#request.username}"/>BSessionQuery对象,然后Configuration对象根据当前的配置信息生成SessionFactory对象。SessionFactory(SessionFactory对象中保存了当前的数据库配置信息和所有映射关系以及预SessionFactoryConfigurationcfg=newConfiguration().configure();SessionFactorysf=cfg.buildSessionFactory();Sessionsession=构造SessionFactory很消耗资源,一般情况下一个应用中只初始化一个Session是应用程序与数据库之间交互操作的一个单线程对象,是Hibernatesession的管理下才可以进行持久化操作。Sessionflush之前,所有的持久层操作的数据都缓存在session对象处。相当于JDBC中的Session关联起来后就具有了持久化的能力。Sessionget( 开启事务等Transactiontx=常用方法identitylong、short、int类型生成唯一标识Oracle不支持自增字段.<idname="id"column="id"<generatorclass="identity"oraclesequence。<idname="id"column="id"<generator<param <idname="id"column="id"><generatorclass="native"因此所有的数据库都可以使用<idname="id"column="id"><generatorclass="increment"128-bitUUID<idname="id"<generatorclass="uuid.hex"uuid.stringhibernate16#load()如果没有找到持久化类直接抛出异常。#get()是直接加载数据,load()是延迟加载,当使用被加载数据的时候SQL。ist()和 #编写代码的方式不同list()和i #底层发送的SQL语句不同list()直接获取到所有持久化类的对 selectsession会话中。#list发送的查询语句只有1条。 tor)饿汉式Hibernate3中持久化对象的状态瞬时对象(TransientObjects)使用new持久化对象(PersistObjects)Session统Session实例关联。离线对象、游离对象(DetachedHibernate管理。Session

(前提条件是没有其他程序删除了这条记录(二)持久化状态Persist一般,只要调用了session的HibernateSession 查询接口方法list()/i 那么会先将本次的对象到一级缓存中便于以后使用,当Session关减少数据库的次数,进而提高效率。保证缓存中的对象与数据库的

同步,当缓存的对象改变后,session不会立即执行sqlsql。用户二级缓存hibenrate.cfg.xml中配置,配置#hibernate.cache.use_second_level_cachefalse 二级缓存默#hibernate.cache.use_query_cachetrue 是否开启查 Hibernate中提供的第一级缓存指的是Session缓存,但是由于久化的每一个类对象上都了一个唯一的OID标识SessionFactory生命周期是整个应用的进程,因此这个缓存中的是对象的散列数据,第二nverse表示反转的意思,在关联关系时候才起作用!false不反转(当前方不反转,有控制权!)true反转 以及inverse属性在关联关系时候的作用Inverse属性在一对多与多对护关联关系的时候的区别?只有有控制权的一方,才可以关联关系!关联关系指:是否可以设置外键的值!只有有控制权的一方,才可以关联关系lazy懒加载 -noSession!(Lazytrue(默认值)懒加载false关闭懒加载extra懒加载,cascade 级存更 级存更新、删 (save- 级联操作,一般使用级存即可

SpringSpring 功SpringIOC容器:创建对象!模块是必须引入的只要用spring的功能就必须引入包 在项目中引入spring立即可以带来下面的好处降低组件之间的耦合度,3、DAO:Spring还提供了对数据库JDBC的封装,使用JdbcTem 6、WEBSpringMVC控制反转所谓控制反转就是应用本身不负责依赖对象的创建及依赖对象的创建及所谓反转,目的是为了获得更好的扩展性和良好的可性。单例/scope="singleton"单例的对象,能否在第一次用的时候创建?(服务器启动不要创建lazy-init="true"init-method="init_"beaninit_()方法;必须要调用容器的ac.destroy(); 调用无参数构造函数1调用无参数构造函数<beanid="user1"

2有参构造函数,创建对象index第几个参数type参数类型value给参数赋值ref给参数赋值,值是IOC容器中的值<beanid="user2" <constructor-argindex="0"type="int"<constructor-argindex="1"type="String"3 3<beanid="factory" <beanid="user"factory-bean="factory"依赖注入service servicedao<propertyname="userDao"<beanid="userdao" <bean <beanid="userAction"class="cn. <property<bean <property 内部bean只能在bean配置一次,别的bean不了内部autowire="byName"根据名称自动装配autowire="byType"根据类型自动装配

<bean <beanid="userAction"class="cn. @Componentioc@Controller同上; @Repository同上 @ResourceXML注解写死到代码里面,不便于后期更改修改不需要重新编译,便于!e)如果想没有实现接口的类,就可以使用CGLIB实现。CGLIB是一个强大的高性能的代码生成包,它可以在运行期扩展Java类与实为他们提供方法的interception(。ASMCglib子类–spring在运行期创建,有两种方式若目标对象实现了若干接口,spring就会使用JDK动态Spring中Aop的是!如果目标对象有实现接口,使用jdk接口!如果目标对象没有实现接口,使用cglib!如果目标对象没有实现接口、且为final,生成不了任何对象,报错后面介绍的式事务管理相比,它可以实现细粒度的事务控制,例如jdbc,hibernate,spring中不提倡使用。如果你并不需要细粒度的事务控制,你可以使用式事务,在验证了Spring关于AOP的概念。当你不需要事务管理的时候,可以直接从Spring配置文件中移除该设置在Spring中,对于事务控制 Spring提供了事务切如果程序中使用事务可以利用aop切入点表达式指定对象生成对象,从而在执行方法的时候(业务方法,动态织入事务切面的代码!这叫“Spring式事务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论