21.在servlet中怎么获取页面传过来的 name=”a” 或者 id=”b” 的输入框的值?
name:
"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.
如何获取第二个span的值?
以下我列出五种方法:(重要的是eq()这个方法)
<html>
<head>
<title>Documenttitle>
<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>1span>
<span>2span>
<span>3span>
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:服务器跳转 地址栏不变
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宽的虚线。
<html>
<head>
<title>yugititle>
<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一对多关系怎么实现?
<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"/>
<collection property="orders" ofType="Order">
<id column="orderId" property="id"/>
<result column="orderNumber" property="number"/>
<result column="orderPrice" property="price"/>
collection>
resultMap>
<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.说一下缓存,你用过那些缓存框架,为什么要用缓存。
本地缓存 > 集群缓存 > 分布式缓存(数据网格)
ehcache
redis
访问本地缓存中的一个对象比直接访问远端数据存储引擎(例如数据库)要快很多.减少对数据库的访问。
直接访问一个已经存在的对象比从数据创建一个对象要快.
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-8
form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
修改web.xml,增加编码过滤器,如下(注意,需要设置forceEncoding参数值为true)
<filter>
<filter-name>characterEncodingFilterfilter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
param>
<param-name>encodingparam-name>
<param-value>UTF-8param-value>
param>
param>
<param-name>forceEncodingparam-name>
<param-value>trueparam-value>
param>
filter>
<filter-mapping>
<filter-name>characterEncodingFilterfilter-name>
/*
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=xxxx
api.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 服务端