1. 用Spring实现一个功能:记录应用对每个Web请求的处理时间,并将这个视图最终显示到这个页面上。
考察知识点:
1)Spring的核心模块之一:MVC接收请求 :包括MVC模式及其好处,@Controller, @RequestMapping的用处。
2)Spring MVC中怎样实现类似Sevlet过滤器的功能。
1种是实现HandlerInterceptor接口,并复写preHandle(), postHandle(), afterCompletion()3个方法。
2种是继承HandlerInterceptorAdapter()抽象类并复写感兴趣的方法(上面3个方法中的任何方法)。
此处可延伸到设计模式的考察Adapter模式 - Java IO中大量使用了Adapter和Decorator模式。
3)处理程序的注册。
A: 注册到DefaultAnnotationHandlerMapping中
这个bean的作用是将拦截器应用到所有以@Controller注解标注的类,意思是说所有的控制器都要受到拦截器的控制。(可以在数组类型的interceptors属性中指定多个拦截器)
B:注册到SelectedAnnotaionHandlerMapping中
延伸到两种的优缺点,以及如果maven的官方repository中没有想要的jar包怎么办?
B1)写信到maven官方客服 B2)放到WEB-INF/lib 3)加到maven的repository中。
参见更为详尽的博客:http://josh-persistence.iteye.com/admin/blogs/1880324
4)视图解析器:为什么在URL请求中没有显示指定.jsp等后缀,Spring是怎样处理的。
如今,应用常常要以不同的格式(如XML,JSON,PDF或者XLS(Excel))提供相同的内容。检查请求中提供的扩展名(如果有)以及确定使用的视图技术应该留给视图解析器完成。
参见更为详尽的博客: http://josh-persistence.iteye.com/admin/blogs/1880324
2. 将一个文件内容复制到另一个文件中
考察知识点
1) Java中流的分类:字符流,字节流
2) 流的嵌套使用。
3) 为什么用BufferedReader 和 BufferedWriter
4) Java中怎样获取项目的路径
5) java中流的关闭(异常,顺序)
package com.ebay.cms.cms.test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import org.junit.Test;
public class CMSDnsFileSyncTest extends CMSBaseTest {
// change to the real file path
private final static String PRO_FILE = "C:/cloudvipzonefile.txt";
private final static String LOCAL_FILE = "\\src\\test\\resources\\dnsfiles\\testzonefile.txt";
@Test
public void copyContents() {
try {
String projectPath = System.getProperty("user.dir");
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(PRO_FILE)));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(projectPath + LOCAL_FILE)));
String currentLineData = null;
while ((currentLineData = br.readLine()) != null) {
bw.write(currentLineData);
bw.newLine(); // line feed
}
bw.close();
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
注: String projectPath = System.getProperty("user.dir");
java项目中的路径是相对于项目的根目录
web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin)
3. Java中正则表达式的使用
怎样从字符串:{"_type":"FQDN","_oid":"51a867e4773da1128b1422ad"} 中取出这段数
1) String的indexOf和String类的subString()方法
2) 正则表达式的方法: [0-9A-Za-z]{24,}
3) java.util.regex.Pattern 模式类:用来表示一个编译过的正则表达式。
4. Spring中怎样实现页面国际化
考察点:
1) 国际化概念:同样的页面内容根据用户所在的区域显示出对应的信息。
2) 不需要为相同的页面内容开发不同版本的页面文件。
3) Spring中的LocalReslover解析器
AcceptHeaderLocalReslover, SessionLocaleResolver, CookieLocaleReslover.自定义Locale(实现LocaleResolver接口)并使用LocaleChangeInterceptor.
4) 使用外部的message信息。message.properties, message_de.properties, message_zh.propertises.
5) 使用外部的message信息需要实现MessageResource信息源接口。
参见更为详尽的博客: http://josh-persistence.iteye.com/admin/blogs/1881831
5. 为什么要使用Spring 3.X中内容协商处理器。
考察点:
1) Spring MVC - View: 视图解析器
2) 内容协商视图解析器的好处:
ContentNegotiatingViewResolver可以允许你拥有多个同名的逻辑视图,每个视图支持一种不同的媒体类型(例如HTML,PDF,XLS),然后由ContentNegotiatingViewResolver来解析最佳匹配。 它会使控制器的设计进一步简化了,因为再也没有必要用硬编码为某个媒体类型创建特定的逻辑视图(例如pdfReservation, xlsReservation, htmlReservation),而代之以单一的视图(reservation),让ContentNegotiatingViewResolver解析器确定最佳匹配。要么匹配reservation.pdf, reservation.html,reservation.xls,reservation.json,reserveration.jsp等。
3) 视图协商处理器的优先级应该比其它的视图解析器的优先级更高,这样当控制器处理结束后,返回逻辑视图,那么此时进行处理的就是内容协商处理解析器,该解析器可能会将视图解析分配给其它的解析器。
参见更为详尽的博客:http://josh-persistence.iteye.com/admin/blogs/1884206
6. Spring中怎样创建Excel和PDF视图
考察点
1) 将Excel和PDF看作Spring MVC中的特殊视图。
2) 处理Excel和PDF的常见程序库。
Spring将Excel和PDF文件的生成集成到MVC框架中。你可以将Excel和PDF文件看作特殊类型的视图,因此你就可以在控制器中一致性地处理web请求,并将数据添加到一个传递给Excel和PDF视图的模式中。这样,你就没有必要再去考虑处理复杂的HTTP响应头标和输出流了。
Spring MVC支持使用Apache POI程序库(http://poi.apache.org)或者JExcel API程序库(http://jexcelapi.sourceforge.net)生成Excel文件。对应的视图类分别是AbstractExceView和AbstractJExcelView。PDF文件由IText程序库(http://www.lowagie.com/iText/)生成,对应的视图类是AbstractPdfView类。
参见更为详尽的博客:http://josh-persistence.iteye.com/admin/blogs/1885286
7. Java获取ip地址:
考查点:网络知识: 用户使用代理的情况
public static String getUserRealIP(HttpServletRequest request) throws UnknownHostException {
String ip = "";
// 有的user可能使用代理,为处理用户使用代理的情况,使用x-forwarded-for
if (request.getHeader("x-forwarded-for") == null) {
ip = request.getRemoteAddr();
} else {
ip = request.getHeader("x-forwarded-for");
}
if ("127.0.0.1".equals(ip)) {
// 获取本机真正的ip地址
ip = InetAddress.getLocalHost().getHostAddress();
}
return ip;
}
详见博客:http://josh-persistence.iteye.com/admin/blogs/1886456
8. Java中可用于switch子句的类型:
byte, char, short, int及其封装类,enum类。
注:不能用于swtich子句的类型: 除byte, char, short,int之外的所有的封装类型,long, float, double,boolean及其封装类型。
详解博客:http://josh-persistence.iteye.com/admin/blogs/1886894
9. java中变量及其生命周期。
1) java变量分为成员变量和局部变量。
2) java类的成员变量有两种: (静态变量,实例变量)
1.被static关键字修饰的变量,叫类变量或者静态变量。
2.另一种没有static修饰,为实例变量
3. 静态变量生命周期就是类的开始和销毁,实例变量生命周期就是对象的开始和销毁.
3) 初始化
1:局部变量在使用前必须被程序员主动的初始化,
2:成员变量则会被系统提供一个默认的初始值。
所以在语法上,类的成员变量能够定义后直接使用,而局部变量在定义后先要赋初值,然后才能使用。
4) 引用:所有类的成员变量可以通过this来引用。
详见博客:http://josh-persistence.iteye.com/admin/blogs/1886949
10)Rest中哪种资源(Representation)操作方法不具有幂等性:
GET方法具有幂等性[指多个相同请求返回相同的结果] ——如果你发送了一个GET请求没有得到结果,你可能不知道原因是请求未能到达目的地,还是响应在反馈的途中丢失了。幂等性保证了你可以简单地再发送一次请求解决问题。幂等性同样适用于PUT(基本的含义是“更新资源数据,如果资源不存在的话,则根据此URI创建一个新的资源”)和DELETE(你完全可 以一遍又一遍地操作它,直到得出结论——删除不存在的东西没有任何问题)方法。POST方法,通常表示“创建一个新资源”,也能被用于调用任意过程,因而 它既不安全也不具有幂等性。
详见博客:http://josh-persistence.iteye.com/admin/blogs/1887382
11) 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
答:是值传递。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。
相关推荐
国产jQuery UI框架 (jUI) DWZ 前端框架 B-JUI jQuery UI 组件 SimpleUI 国产 jQueryUI 框架 XUI_
dwz - 简单实用国产jQuery UI框架 - DWZ富客户端框架(jUI)
jquery ajax框架jquery ajax框架jquery ajax框架jquery ajax框架jquery ajax框架
漂亮的jquery后台框架
JQuery验证框架JQuery验证框架JQuery验证框架
用到 jquery 框架 css 框架, 里面css写的真好,推荐
前端框架:html + css + jquery 后端框架:IDEA + java + springboot + mysql + maven mysql重置某张表 truncate table studentsplanmanagementsystem.coursevariable; alter table table_name auto_increment=1; ...
写网页JavaScript里的jQuery框架,非常好用
基于Jquery网站框架,对ajax技术一个更好的框架体现
精通js脚本之jquery框架 jquery框架 精通js js 脚本 所有代码
一个非常漂亮的jquery后台框架后台模板 ,好不容易找到的,
jquery验证框架学习教程,详细地介绍了jquery,欢迎大家下载!
该文档是包括前端的html,js,jquery,后台的java,主流框架,数据库,服务器等的面试题目。
同时,本文结合时代技术发展的特点,对基于SSH框架的Java-Web数据库配置设计方法进行了研究,并对基于jQuery技术的Java-Web功能优化设计方法进行了探讨。这些研究对SSH框架和jQuery技术的应用于Java-Web的开发应用有着...
涉及到jQuery的框架集介绍及使用,可以以最少的代码量来实现很多常用的功能,值得收藏
适合jsp / php / asp.net / asp 等 使用jquery前端技术的漂亮的后台框架 使用JS html技术 完全开源
带文档的案例的jquery UI框架,很漂亮。挺实用的。
java ajax angular jquery ionic 框架百度云视频教程,Angular4、angular5 Ionic3 Nodejs打造京东商城移动端项目
BOOTSTRAP与JQUERY UI框架设计
1. 该框架的开发环境为EclipseJEE集成开发工具。 2. 基于Spring4框架的三层架构开发完成。 3. Mybatis版本为:3.2.8。 4. 使用了SpringMVC框架,Spring4的xml配置和注解配置。 5. 前台展示页面使用了JQuery ...