java初中级工程师面试笔试题目及心得(全部实战经验)(答案)

来源:互联网 发布:农村淘宝小二怎么赚钱 编辑:程序博客网 时间:2024/04/30 17:41

JAVA WEB部分

21.在servlet中怎么获取页面传过来的 name=”a” 或者 id=”b” 的输入框的值?

name:    <input type="text" name="request_name" value="name_test">    String name = arg0.getParameter("request_name");id:

22.jsp和servlet有哪些相同点和不同点,他们之间的联系是什么?为什么要用jsp做显示而不用servlet?

**区别:**    1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代    码,Web容器将JSP的代码编译成JVM能够识别的java类)    2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.    3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,      HttpServletResponse对象以及HttpServlet对象得到.    Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶    嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户    端的响应。**联系:**       JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和     JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离来。     而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控     制逻辑。

23.说一下servlet的生命周期,在执行servlet的过程中分别执行了哪些方法?每个方法具体负责什么?可以实现一些什么内容?

执行servlet的过程,它首先会编译成.class文件,由jvm加载到web容器中(如tomcat,resin)当有人调用它的时候,首先会执行它自己的构造方法,接着初始化调用init()方法,之后根据页面的请求方式(get or post) 调用它的doGet()或者 doPost()方法。(当Servlet中有doGet()或者doPost()方法时,那么service()方法就可以省略,默认为调用这两个方法)最后当servlet终止的时候调用它的destory()方法

24,你知道easyUI吗?

jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用户界面插件。这个我没学过,也不好多说,想了解可以自行百度。

25.<div><span>1</span><span>2</span><span>3</span></div>如何获取第二个span的值?

以下我列出五种方法:(重要的是eq()这个方法)
<html>     <head>       <title>Document</title>      <script src="jquery-1.9.1.min.js"></script>    <script>        $(function(){           alert($("#test span").eq(1).html());           alert($("div span:eq(0)").html());           alert($("#test").children().eq(0).html());           alert($("div").children("span").eq(1).html());           alert($("div span:nth-child(2)").html())        });    </script>     </head>     <body>        <div id="test">            <span>1</span>            <span>2</span>            <span>3</span>        </div>     </body>    </html>

26.用js或者jquery获取页面上name=”a” 或者 id=”b” 输入框的值.

js: window.onload=function(){    var a = document.getElementsByName("a")[0].value;    var b = document.getElementById("b").value;    }
jQuery: $(function(){        var a = $("input[name='a']").val();        var b = $("#b").val();    });

27.两种跳转方式分别是什么?有什么区别?

1.forward:服务器跳转  <jsp:forward page=跳转页面地址> 地址栏不变2.response跳转 response.sendRedirect(跳转页面地址)   地址栏改变

28.get和post有什么区别?

GET和POST方式的区别如下:(1)GET通常用于从服务器上获取数据,POST用于向服务器传送数据。(2)GET请求提交的数据放置在URL中,而POST提交的数据则放在BODY体中。(3)GET传送的数据量较小,POST传送的数据量较大,主要受限于服务器的处理能力。(在FORM提交的时候,如果不指定Method,则默认为GET请求(.net默认是POST),Form中提交的数据将会附加在url之后,以?分开与url分开。字母数字字符原样发送,但空格转换为“+”号,其它符号转换为%XX,其中XX为

29.jsp常用指令?

   page:是一个全局指令,针对当前页面。  forward: 执行页面转向,将请求的处理转发到下一个页面。  param: 用于传递参数,必须与其他支持参数标签一起使用。  include: 用于动态引入一个 JSP 页面。  plugin: 用于下载 JavaBean 或 Applet 到客户端执行。  useBean: 使用 JavaBean。  setProperty: 修改 JavaBean 实例的属性值。

30.jsp的内置对象是什么?尽量说全一点。

   JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception    1、request对象    request 对象是 javax.servlet.httpServletRequest类型的对象。    该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信    息、请求方式以及请求参数等)。request对象的作用域为一次请求。    2、response对象    response代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有    作用域,它只在JSP页面内有效。    3、session对象    session对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,    用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格    式为“Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。    4、application对象     application对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在     整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。    5、out 对象    out 对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out对象输出数据    时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完    毕后,要及时关闭输出流。    6、pageContext 对象    pageContext 对象的作用是取得任何范围的参数,通过它可以获取JSP页面的out、request、    reponse、session、application等对象。pageContext对象的创建和初始化都是由容器来完成的,在    JSP页面中可以直接使用 pageContext对象。    7、config 对象    config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig()    方法可以获取一个config对象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个     Servlet。开发者可以在web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。    8、page 对象    page 对象代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前Servlet接口引用    的变量,类似于Java编程中的 this 指针。    9、exception 对象    exception 对象的作用是显示异常信息,只有在包含 isErrorPage="true"的页面中才可以被使用,在    一般的JSP页面中使用该对象将无法编译JSP文件。excepation对象和Java的所有对象一样,都具有系统提    供的继承结构。exception对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来    处理异常情况;如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception    对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。

31.请使用jQuery将页面上的所有元素边框设置为2px宽的虚线。

<!DOCTYPE HTML><html><head><title>yugi</title><meta charset=UTF-8 /><style type="text/css"></style><script type="text/javascript" src="jquery-1.8.0.min.js"></script><script type="text/javascript">    jQuery (function ($)    {        $ ("*").css ("border", "2px dashed");    })</script></head><body></body></html>

32.如何用jQuery禁用浏览器的前进后退按钮?

<script type="text/javascript" language="javascript">$(document).ready(function() {    /*原理:用户点击后退时产生一个前进的动作,然后就能抵消啦*/     window.history.forward(1);     //OR     window.history.forward(-1);});</script>

33.请写出手机号的正则表达式。

/^[1][3-8]\\d{9}$/1./^ 开始标记;2.[1]匹配[]号中包含的一个数字3.[3-8]匹配[]范围内任意一个数字4.\d{9}输入任意9个数字
js Demo:    var reg = /^[1][3-8]\\d{9}$/;    boolean b = reg.test(str);Java Demo:     String str = "13945678956";     String regEx = "^[1][3-8]\\d{9}$";     // 编译正则表达式     Pattern pattern = Pattern.compile(regEx);     Matcher matcher = pattern.matcher(str);     // 字符串是否与正则表达式相匹配     boolean rs = matcher.matches();     System.out.println(rs);

34.请写出邮箱的正则表达式。

^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

详细参考

35.alert();中怎么控制换行?

\r  或者  \r\n

36.至少说三个IE和Firefox的兼容问题。

详细参考

37.说几个jquery种常用的方法。

这里写图片描述

38.ajax是如何传递数据的?他是同步的还是异步的?怎么实现同步?

常见的可以选择以纯文本和XML作为数据格式(您可以参考jquery下的ajax),现在还有一种比较流行的方式:JSON(JavaScript Object Notation)默认是异步可以通过修改async属性设置为false实现同步

39.mvc的各个部分都有哪些技术实现?如何实现?

MVC是Model-View-Controller的简写。Model 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现);View 是应用的表示面(由JSP页面产生);Controller 是提供应用的处理过程控制(一般是一个Servlet);通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。 

40.我们在web应用开发过程中经常遇到输出某种编码字符,如iso8859-1,如何输出一个某种编码的字符串?

     tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");//把"ISO-8859-1"转化为“GBK”编码  

41.mybatis一对多关系怎么实现?

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.zdp.domain.Person">    <resultMap type="Person" id="personBean">        <id column="personId" property="id"/>        <result column="personName" property="name"/>        <result column="personAddress" property="address"/>        <result column="personTel" property="tel"/>        <!-- 一对多的关系 -->        <!-- property: 指的是集合属性的值, ofType:指的是集合中元素的类型 -->        <collection property="orders" ofType="Order">            <id column="orderId" property="id"/>            <result column="orderNumber" property="number"/>            <result column="orderPrice" property="price"/>        </collection>    </resultMap>    <!-- 根据id查询Person, 关联将Orders查询出来 -->    <select id="selectPersonById" parameterType="string" resultMap="personBean">        select p.*, o.* from person p, orders o where p.personId  = o.pid and p.personId = #{id}    </select></mapper>

43.说一下缓存,你用过那些缓存框架,为什么要用缓存。

本地缓存 > 集群缓存 > 分布式缓存(数据网格)ehcacheredis访问本地缓存中的一个对象比直接访问远端数据存储引擎(例如数据库)要快很多.减少对数据库的访问。直接访问一个已经存在的对象比从数据创建一个对象要快.

44.什么是ejb?

**取自百科**EJB是sun的服务器端组件模型,设计目标与核心应用是部署分布式应用程序。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。

45.什么是JPA?

JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate、TopLink,JDO等ORM框架的基础上发展而来的,具有易于使用、伸缩性强等优点。从目前的开发社区的反应上看,JPA受到了极大的支持和赞扬,其中就包括了Spring与EJB3.0的开发团队。着眼未来几年的技术走向,JPA作为ORM领域标准化整合者的目标应该不难实现。 JPA的总体思想和现有Hibernate、TopLink、JDO等ORM框架大体一致。总的来说,JPA包括以下3方面的技术:ORM映射元数据JPA支持XML和JDK5.0注解两种元数据形式,元数据描述对象和表之间的映射关系,框架据此将实现对象持久化到数据库表中。Java持久化API用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者可以从繁琐的JDBC和SQL代码中解脱出来。查询语言这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合

46.你用过webservice吗?怎么用的?它的原理是什么?webservice和http有什么区别?webservice是怎么处理安全问题的。

它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块 化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务.PS:简单的说Webservices 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Webservices 的应用程序叫做客户在构建和使用Web Service时,主要用到以下几个关键的技术和规则:Http传输信道  XML( Extensible Markup Language ):描述数据的标准方法.  SOAP( Simple Object Access Protocol ):表示信息交换的协议.  WSDL( Web Services Description Language ):Web服务描述语言.  UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是    一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议    **webservice和http有什么区别?**httpservice通过post和get得到你想要的东西webservice就是使用soap协议得到你想要的东西,相比httpservice能处理些更加复杂的数据类型http协议传输的都是字符串了,webservice则是包装成了更复杂的对象。hessian类似于webservice,但是它采用的是二进制RPC协议(Binary),具有轻量、传输量小、平台无关的特点,特别适合于目前网络带宽比较小的手机网络应用项目。以hessan的java实现为例,它可以传输Map、List、以及自定义的各种数据接口;比http的纯字符串也方便的多,省却了解析http返回值的步骤。**webservice是怎么处理安全问题的**WebService有很完善的安全机制,WS-Security是其安全标准之一,其原理就是往soap里加东西,然后服务器再解析soap。最常用的安全策略是用户令牌和数字签名,使用证书,webservice还可以对请求方的身份进行认证要想webservice安全首先要确保webservice传输过程中数据的安全和数据的正确性,数据可以使用特定的加密格式,然后在获取到请求时进行解密比对。

47.你知道那些java的前段插件,用过那些?

jquery插件网站

48.你知道那些java的后端插件,用过那些?

eclipse常用插件
49.在SSM框架中,用什么处理事务。

在Spring中庸注解配置事务,xml中配置transactionManager,需要处理事务的方法上加上注解@Transactional

52.SpringMvc如何统一设置编码。

注意:  jsp页面编码设置为UTF-8form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
<form action="${ctx}/user/addUser" name="userForm" method="post"> 
    修改web.xml,增加编码过滤器,如下(注意,需要设置forceEncoding参数值为true)    <filter>          <filter-name>characterEncodingFilter</filter-name>          <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>          <init-param>              <param-name>encoding</param-name>              <param-value>UTF-8</param-value>          </init-param>          <init-param>              <param-name>forceEncoding</param-name>              <param-value>true</param-value>          </init-param>      </filter>      <filter-mapping>          <filter-name>characterEncodingFilter</filter-name>          <url-pattern>/*</url-pattern>      </filter-mapping> 

53.图片上传用的是前台上传还是后台上传,前台用的是什么js上传,怎么上传的。后台是怎么上传的。

前台用file控件,后台springmvc里面好像是有图片上传的功能,我解释不太清楚,自行百度吧。

54.spring用什么连接欸数据库?用什么处理事务?

Spring连接数据库的几种方式

55.接口传输数据有没有加密,怎么加密。

有加密加一个访问token。例如你的api地址是http://www.example.com/api.php需要接受的参数有a,b,c三个那么可以加一个验证token(通过约定的key加密生成)。例如$a=1;$b=2;$c=3;$key='abcdef';$token=sha1($a.$b.$c.$key);然后访问使用http://www.example.com/api.php?a=1&b=2&c=3&token=xxxxapi.php接收到a,b,c,token参数后,根据a,b,c与约定好的key,计算sha1($a.$b.$c.$key);是否等于接收到的token,如果相同则返回数据,否则返回没有权限。

56.一个大文件,上传到一半的时候网断了,想在接下来继续从断点开始上传,怎么做?

断点续传指的是在下载或上传时,将下载或上传任务(一个文件或一个压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传下载以后未上传下载的部分

57.你知道那些设计模式,说一下单例什么时候用到,原理是什么?手写一个单例。

23种设计模式及其讲解

只要说几个用过的就好了 比如  单例模式、代理模式、工厂方法模式、抽象工厂模式...
单例    一个程序中只能有一个它的实例。(比如多次点击弹出框,只显示一个)package com.zzy.demo;public class Singleton {    //懒汉式单例类,在第一次调用的时候实例化自己    private Singleton(){}    private static Singleton singleton = null;    //静态工厂方法    public static Singleton getInstance(){        if(singleton==null){            singleton = new Singleton();        }        return singleton;    }}class Singleton1{    //饿汉式单例类,在类初始化时,就自行实例化。    private Singleton1(){}    private static final Singleton1 SINGLETON1 = new Singleton1();    //静态工厂方法    public static Singleton1 getInstance(){        return SINGLETON1;    }}

58.你会用socket吗?怎么写socket服务端。

简单的 java socket 服务端

0 0