- 浏览: 25554 次
- 性别:
- 来自: 合肥
最近访客 更多访客>>
文章分类
最新评论
-
光影门徒:
总结的很不错,谢谢了
JavaScript在IE和Firefox下的兼容性问题 -
zy2419:
总结的很好啊
JavaScript在IE和Firefox下的兼容性问题 -
ccyingfu:
Firefox支持innerHTML呀....是哪个版本不支持 ...
JavaScript在IE和Firefox下的兼容性问题 -
JasonChi:
SF 学习
JavaScript在IE和Firefox下的兼容性问题 -
qbq:
SampleServerImpl Server = new S ...
java远程处理
Jsp
1,当浏览器第二次(同一会话)访问以下jsp网页时的输出结果是什么?
a:<%= a%><br>
b:<%= b%>
A,a=0 b=0
B,a=1 b=1
C,a=2 b=1
考点:页面载入的时候,哪些代码会执行。(c)
2,下面选择中哪一个不是<jsp:useBean>元素的属性?
A, scope
B, Id
C, Value
D, Class
考点:了解bean的属性(C)
3,在jsp页面的代码中,下面语句的执行结果?
A,yes
B,no
考点:考察对对象的理解。(A)
4, 下面哪一个不是JSP本身已加载的基本类?
A、java.lang.* B、java.io.* C、javax.servlet.* D、javax.servlet.jsp.*
考点:考察jsp本身自带的包 (B)
5, Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:
A.<%@ page %>作用于整个JSP页面。
B.可以在一个页面中使用多个<%@ page %>指令。
C.为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。
D.<%@ page %>指令中的属性只能出现一次。
考点:对jsp一些指令的理解。(D)
6, JSP内嵌对象session的类型为javax.servlet.http. HttpSession,下述语句会使该对象失效的是:
A session.dispose();
B session.clear();
C session.invalidate();
D session.removeAll();
考点:如何让session失效。(C)
7,在jsp中,只有一行代码:<%=’A’+’B’%>,运行结果为_______131_________.
考点:对字母运算的理解。
8,jsp的EL表达式:${user.loginName}的执行效果等同于()。
考点:对El表达式的理解。(A)
9,jsp页面经过编译后,将创建一个()。
A,applet
B,servlet
C,application
D,exe文件
考点:Jsp编译后,最终也是servlet。(B)
10, 在空格处填写正确的语句:
给定include1.jsp文件代码片断,如下:
<% pageContext.setAttribute("User","HAHA");%>
_______//此处填写代码
给定include2.jsp文件代码片断,如下:
<%=pageContext.getAttribute("User")%>
要求运行include1.jsp时,浏览器上输出:HAHA
要满足以上条件,jsp1.jsp中下划线处应填入以下()语句。
考点:对静态包含、重定向,转发指令的理解 (B)
11,在jsp中,哪个指令用来声明jsp欲使用的标签库?
A,tld
B,taglib
C,import
D,include
考点:考察标签库 (A)
12,下面选择中哪个是jsp的注释标签?
A,<%@%>
B,<%!%>
C,<%#%>
D,<%----%>
考点:考察易混淆的标识(D)
13,如果不希望在jsp页面中存取http会话,应该设置哪个指令?
A,<%page session= “disabled” %>
B, <%page session= “false” %>
C, <%page session= “true” %>
D, <%page disablesession= “true” %>
考点:考察page指令的属性(B)
14,如何发送Cookie?下面选项中正确的是()
A,使用new Cookie语句
B,调用response.addCookie()方法
C,使用Cookie的setMaxAge()方法
D,setCookie()方法
考点:考察cookie使用(B)
Servlet
在Servlet过滤器的生命周期方法中,每当传递请求或响应时,web容器会调用()方法。
A, init B, service
C, doFilter D, destroy
考点:过滤器何时被调用(C)
在Servlet里,能正确获取session的语句是()。
考点:如何得到session(A)
给定一个Servlet的代码片段如下:
运行次Servlet时输出如下:
hi kitty!
则应在此Servlet下划线处填充如下代码。
考点:如何正确得到out对象(A)
Servlet中,使用()接口中定义的()方法来处理客户端发出的表单数据请求
A, HttpServlet doHead B, HttpServlet doPost
C, ServletRequest doGet D, ServletRequest doPost
考点:Httpservlet的作用,和其里面的方法(B)
servlet 的生命周期有一系列事件组成,把这些事件按照先后顺序排序,以下正确的是()
A, 加载类,实例化,请求处理,初始化,销毁
B, 加载类,实例化,初始化,请求处理,销毁
C, 实例化,加载类,初始化,请求处理,销毁
D, 加载类,初始化,实例化,请求处理,销毁
考点:Servlet的生命过程(B)
假设在helloapp应用中有一个HelloServlet类,它位于org.javadoc包下,那么这个类的class文件应该放在什么目录下?
A,helloapp/HelloServlet.class
B,helloapp/WEB-INF/HelloServlet.class
C,helloapp/WEB-INF/classes/HelloServlet.class
D, helloapp/WEB-INF/classes/org/javadoc/HelloServlet.class
考点:考察文件的存放位置。(D)
ServletContext对象是由谁创建的?
A,由Servlet容器负责创建,对于每一个HTTP请求,Servlet容器都会创建一个ServletContext对象
B,由javaWeb应用负责创建
C,由Servlet容器负责创建,对于每个JavaWeb应用,在启动时,Servlet容器都会创建一个ServletContext对象
D,以上都不对
考点:考察servletcontext对象的产生(C)
在使用服务器端的会话管理时,通过什么方法标识会话?
A,IP地址
B,Cookie
C,session id
D,请求的头
考点:考察表示会话的方法(B)
下面是对servlet生命周期的描述,请在空格处填上正确的答案。
web容器加载servlet,生命周期开始。通过调用servlet的_______方法进行_______的初始化。通过调用service()方法实现,根据请求的不同调用不同的________方法。结束服务,web容器调用servlet的________方法。
考点:考察servlet生命周期中具体的方法。
Init(), servlet, do***(), destroy()
Servlet中四种会话是____,______,________,__________.
考点:考察四种会话。Page,request, session,application
下面关于forward和redirect的说法,错误的是:().
A,前者会显示地址,后者不显示地址。
B, 当需要跳转到一个其它服务器上的资源时,必须使用sendRedirect()方法
C, 前者比后者更加高效。
D, 前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
考点:考察forward和redirect。 (A)
现实servlet的单线程模式的方法是:
________________________________________________.
考点:考察servlet的单线程。
<%@ page isThreadSafe="false"%>
看下面的HTML标签:
<html>
<body>
<a href=”/servlet/MyFirstServlet”>Make me say Hello World!</a>
</body>
</html>
点击超链接后下面哪一个方法将会被调用:()
A,doGet
B,doPost
C,post
D,get
考点:考察超链接时候实际调用方法。 (A)
关于Form表单提交的HTTP的get方法,正确的是()多选
A,不能向服务器提交二进制数据
B,不能向服务器提交无限长度的数据
C,不能向服务器提交多值参数
D,参数附在URL后面
考点:提交时候的参数问题。 (abd)
在web.xml中下面哪个标签表示servlet的URL的映射?()
A,mapping
B,servlet-url
C,url-mapping
D,servlet-mapping
考点:考察servlet标签的使用 (D)
下面哪些发生在jsp页面的转换阶段()。多选
A,执行jsp的init()方法
B,创建一个与jsp相关的servlet类
C,实例化servlet类
D,加载servlet类
考点:jsp页面转换时候做的事情。(BD)
下面哪个方法用于从session中得到对象()
A,Session接口的getAttribute()方法
B,HttpSession接口的getValue方法
C,session接口的getAttribute()方法
D, HttpSession接口的getAttribute()方法
考点:从session中得到对象。(D)
在浏览器禁用cookie前提下,下面哪些技术能够记住客户端状态()多选
A,Http headers
B,Httpsession
C,隐藏域
D,URL重写
考点:记住客户状态的方式。(BCD)
下列哪些表达式所存储的对象可以被servlet或jsp在session里面使用()多选
A,request.setAttribute(name,value);
B,response.setAttribute(name,value);
C,request.getSession().setAttribute(name,value);
D,servlet.getServletContext().setAttribute(name,value);
考点:设置session对象的方法。(CD)
下面哪个方法在ServletContext被初始化时调用:()
A, ServletContextListener接口的contextInitialized()方法
B, ServletContextListener接口的Init()方法
C, ServletContext接口的contextInitialized()方法
D, ServletContext接口的Init ()方法
考点:servlet初始化方法 (A)
下面哪个方法用于URL重写
A,HttpServletResponse接口的rewriteURL()方法
B, HttpServlet接口的rewriteURL()
C, HttpServletRequest接口的encodeURL()方法
D, HttpServletResponse接口的encodeURL()方法
考点:HttpServletResponse接口的常用方法 (D)
[encodeURL 不是url的重写]
下面哪个jsp隐含对象可以实现多次请求共享()多选
A,page
B,request
C,session
D,application
考点:对象存在的时间范围。(CD)
下面哪个表达式表示会话永不过期()。
A,setTimeout(0)
B,setTimeout(-1)
C,setManInactiveInterval(0)
D, setManInactiveInterval(-1)
[有待考证]
考点:设置会话时间。(D)
下面是web.xml中的片段
在servlet中要得到上面的参数,下面哪个表达式是正确的()。
A,getServletConfig().getAttribute(“user”)
B, getServletContext().getAttribute(“user”)
C, getServletConfig().getInitParameter(“user”)
D, getServletContext().getInitParameter (“user”)
考点:获得参数的方法。(D)
Jdbc+sql
下面哪个语句连接后能查询成功?
考点:考察如何正确进行事务处理(B)
3,有如下2个表,仔细观察表字段。写出sql语句。
销售表:Amount表
部门表:Dept表
1, 查询所有dept部门的销售金额amount。(要显示出部门名称和其金额)。select a.deptname,b.amount from dept a left join amount b on a.deptid = b.deptid
因为是所有部门,所以不能单单从amount进行查询。
考点:考察对需求的理解,对表中字段的理解,左连接的使用。
查询有销售记录的部门销售金额,并且金额大于5000,时间在第四季度的,按部门进行分组。(要显示出部门名称和其金额)
select a.deptname,b.amount from dept a
right join amount b on a.deptid = b.deptid
where b.amount>5000 and month in (10,11,12)
group by a.deptname
考点:考察右连接的使用,in的使用,和如何分组。
4,根据要求,编写sql语句。
有3个表:
Employee职工(工号,姓名,性别,年龄,部门)(num,name,sex,age,dept)
Wage工资(编号,金额)(No,amount)
Attend出勤(工号,工资编号,出勤率)(num,No,attendance)
查询工作金额为8000的职工工号和姓名。
查询职工张三的出勤率。
查询3次出勤率为0的职工姓名和工号。
查询出勤率为10并且工资金额小于2500的职工信息。
考点:考察sql语句的常用写法
1, select eml.num,eml.name form Employee eml
where
(
select count(*) form Attend where num=eml.num nad No=
(
Select No from Wage where amount=’8000’
)
)
2, select amount from Wage where No in
(
Select No from Attend where num=
(
Select num from Employee where name like ‘张三’
)
)
3, select eml.num,eml.name from Employee eml where
(
Select count(*) from Attend where num=eml.num and attendance=0
) = 3
4, select * from Employee eml where
(
Select No from Attend where num=eml.num and attendance=’10’
) =
(
Select No from Wage where amount < 2500
)
5,select char(65) from user;查询的结果是什么?
A, a
B, b
C, A
D, B
考点:对特殊符号的理解(C)
[答案选项设计不正确]
6,在sql Server中,建立一个student表包含一个sex列,使用下列哪种方法能保证sex列中的输入值只能是M或F?
A, 创建一个存储过程验证sex列中的数据
B, 对student表添加一个default约束
C, 对sex列添加一个触发器,在提交后验证数据
D, 对sex列添加一个check约束
考点:考察如何对表中字段进行约束。(D)
7,根据表score选出正确的select语句。
表score(id, names, math, English, VB)
A, select id,sum(math) from score
B, select sum(math),avg(VB) from score
C, select *,sum(english) from score
D, delete * from score
考点:考察对sum的使用。(B)
8,在查询分析器中运行下面的语句,会得到什么样的结果?
CREATE TABLE numbers(
N1 INT,
N2 NUMERIC(5,O),
N3 NUMERIC(4,2)
)
GO
INSERT numbers VALUES(1.5, 1.5, 1.5)
SELECT * FROM numbers
A, 2, 2, 1.5
B, 1.5, 1.5, 1.5
C, CREATE TABLE 命令不会执行,因为你无法将列N2的精度设置为0
D, 1, 2, 1.50
考点:考察对int和numeric的使用(D)
9, JDBC中__________类对象保存了所有__________类对象中关于字段信息,提供多个方法来取得这些信息;
ResultSetData, ResultSet
考点:考察jdbc中查询的结果存放在哪里
10, 当对对象进行批量更新时,采用__________创建对象效率较高,采用__________创建则效率较低;
preparedStatement Statement
考点:对statement的理解。
正则表达式
以a开头和结尾的所有小写字母串。
^a[./n]*a$考点:考察正则表达式字母的写法
第一个数不为0的所有数字串。
^[1-9]+[0-9]*$
考点:考察正则表达式数字的写法
正则表达式中,常用的元字符有
A, $
B, *
C, +
D, ?
考点:考察基本匹配符(A)
正则表达式中,用来匹配数字的是
A, \w
B, \d
C, \s
D, \b
考点:考察基本的匹配符的理解(B)
若要表示a字母后面跟着0个或一个b,则应该写成:
A, “ab*”
B, “ab+”
C, “ab?”
D, “a?b+$”
考点:考察*,+,?的使用(C)
写出精确查找hi这个单词的表达式。
考点:\b符号的使用
答案:\bhi\b
写出hi后跟着一个单词Lucy的正则表达式
考点:常用符号.和*的使用答案:\bhi\b.*\bLucy\b
说出下面正则表达式的意义。并用另种方法实现它。
0\d\d-\d\d\d\d\d\d\d\d
考点:数字的匹配方法
答案:以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字(也就是中国的电话号码)
另种实现方法:0\d{2}-\d{8}
写出匹配QQ号为5位到12位数字。
考点:考察开始、结束符号,和数字范围。答案:^\d{5,12}$
说说正则表达式中+符号和*符号的区别
考点:+和*的区别答案:+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。
说出下面这个正则表达式的含义:\(?0\d{2}[) -]?\d{8}
考点:?符号的使用答案:首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)或-空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。比如:010)88886666
022-22334455
02912345678
写出符合要求的正则表达式:匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010-12345678),一种是4位区号7位本地号(0376-2233445)考点:分枝符号的使用答案:0\d{2}-\d{8}|0\d{3}-\d{7}
观察下面2个正则表达式,说出他们是否相等?并说明理由。
\d{5}-\d{4}|\d{5}和\d{5}|\d{5}-\d{4}考点:使用分枝条件时,要注意各个条件的顺序答案:不相等。原因:前面匹配的是:5位数字,或者用连字号间隔的9位数字。而后面匹配的是:5位的邮编(以及9位邮编的前5位)
说出下面正则表达式的含义:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
考点:分组符号的使用答案:ip地址
说出下面正则表达式的含义:[\u4e00-\u9fa5]
考点:考察常用的匹配中文字符的写法。
答案:匹配中文字符
写出匹配正整数的正则表达式。
考点:常用的正则表达式的写法 答案:^[1-9]\d*$
Freemarker
现在后台的java文件中,设置一个参数:request.setAttribute("flag","exists");
如何在页面中得到?
A, ${request.flag}
B, request.getAttribute(“flag”);
C, request.get Parameter(“flag”);
D, ${request. get Parameter(“flag”)};
考点:考察freemarker如何从后台取值。(A)
2, 有一个用户的list集合:userList,有三个属性:userName,userPassWord, userAge。请编写freemarker中list循环的列子,并按照年龄排序。
考点:考察list的使用
<#list userList?sort_by(“userAge”) as user>
Name: ${user.userName}
Password:${user.userPassWord}
Age: ${user.userAge}
</#list>
3, 有如下结构,要得到name值,下面表述错误的是
A, book.author.name
B, book["author"].name
C, book.author.["name"]
D, book["author"]["name"]
E, 以上都是错的。
考点:考察多种写法(E)
[题目说明不清晰,答案设计不合理]
4,下面写法错误的是:
A, ${"Hello ${user}!"}
B, ${"${user}${user}${user}${user}"}
C, ${user + user + user + user}
D, <#if ${isBig}>Wow!</#if>
考点:考察${}的用法(D)
5, 假设user的值为Big Joe。下面语句执行的结果是:
${user[0]}${user[4]}
${user[1..4]}
A, Big J 和 ig J
B, BJ 和 iJ
C, BJ 和 ig J
D, Big J 和 ig J
考点:考察字符的截取。(c)
Struts
1, 在web.xml文件中要配置struts2的拦截器。拦截器中会自动加载____,____,____3个xml文件。
考点:考察Struts2中常用的3个配置文件
Strurs-default.xml, struts-plugin.xml, struts.xml
2, 现有如下配置:
<action name=”*News”
Class=”com.struts.NewsAction” method=”{1}”>
……..
</action>
那么当请求/createNews时候,会请求的是_________类的__________方法。
考点:考察通配符的使用(NewsAction ,create)
在web.xml文件中,通常会有如下配置:
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
此配置表示:_________________________________________.
考点:了解可以手动设置要拦截器的文件(拦截所有用户请求)
在自定义拦截器的时候,要注意最后配置________________才不会出错。
考点:Sturts2默认的拦截器不要忘记配,不然会出错。
(<interceptor-ref name="defaultStack"/>)
默认情况下,struts2的配置文件的执行顺序是什么?
A,struts.properties, struts-default.xml,struts-plugin.xml,struts.xml,web.xml
B, struts-default.xml,struts-plugin.xml, struts.properties ,struts.xml,web.xml
C, struts-default.xml,struts-plugin.xml,struts.xml, struts.properties ,web.xml
D, struts-default.xml, struts.properties ,struts-plugin.xml,struts.xml,web.xml
考点:考察配置文件的执行顺序,在配置常量的时候要注意,后执行的文件会覆盖前面文件中定义的名字相同的常量。(C)
下面关于拦截器的说法,错误的是:
A, Struts2拦截器是不可插拔的,拦截器不是AOP的一种实现,和AOP没有关系.
B, Struts2拦截器栈就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,Struts2拦截器链中的拦截器就会按其之前定义的顺序被调用。
C, Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器.
D, 拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。
考点:考察对拦截器的理解(A)
7, struts2的拦截器的执行顺序是:
A, 先是:拦截器,action,result,然后返回时候是result,action,拦截器
B, 先是:action,result,拦截器,然后返回时候是 拦截器,result,action,
C, 先是:action,result,拦截器,然后返回时候是result,action,拦截器
D, 先是:action,拦截器,result,然后返回时候是result,拦截器,action
考点:了解拦截器内部执行顺序 (A)
8, 下面关于拦截器调优,说法错误的是:
A, 关闭logging和devMode
B, 使用正确的HTTP头(缓存控制和过期时间)
C, 使用session存储变量,减轻页面负担
D, 不要使用你不需要的拦截器
考点:考察对拦截器进行调优的一些常用方法 (C)
9, 下面关于Result说法错误的是:
A, Struts2将Result列为一个独立的层次
B, Result是为了解决MVC框架中,如何从Control层转向View层这样一个问题而存在的
C, 模板显示的基本原理,需要将预先定义好的模板(Template)和需要展示的数据(Model)组织起来,交给模板引擎,才能够正确显示。而这部分工作,就由模板自身完成的,与Result层无关。
D, Result能够对JSP,Freemarker/Velocity模板,甚至是JSON对象等等这些显示类型进行区分,并封装合理的跳转逻辑。
考点:了解Result的作用 (C)
10, 在Result的结果类型中,表示重定向到另一个action的是_ ____.
考点:考察常用的结果类型 redirectAction
11, 默认的Result的结果类是___ ____.
考点:考察常用的结果类型 dispatcher
12, 关于struts2的验证,下面说法错误的是.
A, 不能在execute方法中进行验证。
B, 可以在execute方法中进行验证。
C, 可以写成validateXxx(),这样struts2会自动调用进行验证。
D, 可以继承ActionSupport,重写validate()方法来进行验证。
考点:考察验证的方法(A)
13, 有一个类UserAction,要想对这个类里面的字段,使用struts2自带的验证器进行验证,则应该采用的方法是:
A, 在UserAction的UserActionclass目录下,建立UserAction-validation.xml文件
B, 在UserAction的UserActionclass目录下,建立UserActionValidation.xml文件
C, 可以在webapp下面,建立UserAction-validation.xml文件
D, 可以在webapp下面,建立UserActionValidation.xml文件
考点:考察如何使用struts2自带的验证器(A)
14, 对于使用validate方法进行验证的时候,下面说法错误的是:
A, 方法最后要返回值,用来表示执行方法之后的跳转。
B, validate方法是在execute方法前执行的。
C, 在validate方法中,可以把错误信息通过addFieldError方法加到错误对象中,然后在页面中显示出来。
D, 如果在validate方法中,有错误信息被添加到错误对象中,那么就不会再执行execute方法来。
考点:考察对validate的了解(A)
15, struts2的核心标签库有__Html标签___,___bean标签___,___logic标签_____.列出3个即可
考点:考察常用的标签。
16, 在空格处填写正确的语句,并写出的执行结果:
有一个jsp页面,ifTag.jsp.代码如下:
<%@ page contentType=”text/html;charset=GBK” %>
<%@ taglib prefix=”s” uri=”/struts-tags” %>
<s:set name=”score” value=”____________”/>
<s:if test=”#score<60”>
不及格
</s:if>
<s:elseif test=”#score>=60 && #score<85”>
及格
</s:elseif>
<s:else>
优秀
</s:else>
启动tomcat服务器后,在浏览器输入下面的URL:
http://localhost:8080/test/ifTag.jsp?score=88
填入的一句是____,打印结果是__ __。
考点:考察如何请求时候传参数 #parameters.score[0] 优秀
17, 请求页面后,显示的值
<%@ page contentType=”text/html;charset=GBK” %>
<%@ taglib prefix=”s” uri=”/struts-tags” %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:iterator value="{'radio','lisi','go'}" status="status">
<s:property value="#status.count"/>
<s:property value="#status.index"/>
<s:property value="#status.first"/><br>
</s:iterator>
考点:考察常用标签的使用
1 0 true
2 1 false
3 2 false
18, 下面关于国际化,说法错误的是:
A, 全局的国际化资源文件放在src目录下,在struts.xml中定义常量声明
B, 局部的国际化资源文件分为包级别的、和类级别的。
C, 在包级别的、类级别的、和全局的里面有同名的信息时,类级别的信息会覆盖包级别,包级别会覆盖全局的。
D, 在包级别的、类级别的、和全局的里面有同名的信息时,全局级别的信息会覆盖包级别,包级别会覆盖类级别的。
考点:考察对国际化的了解(D)
19, struts2提供了多种方法来访问资源文件中的本地化消息,下面说法错误的是:
A, 可以在action中访问本地化消息
B, 可以在jsp页面中访问本地化消息
C, 可以在表单标签的属性中访问本地化消息
D, 不能在资源文件中访问本地化消息
考点:考察国际化的使用(D)
20, 有下面一段代码,请在横线上填写正确的方法:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2><s:text name="HelloWorld"/></h2>
<h2><s:property value="%{_____ ______ ('HelloWorld')}"/></h2>
</body>
</html>
考点:考察如何从属性文件中取值 getText
21,请简述struts2的工作流程
考点:考察工作流程
基本简要流程如下:
(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;
(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到
ActionForm对象中;
(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;
(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;
(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;
(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件;
(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;
22,struts2中,页面和后台传值的三种方式:___属性传值___,___对象传值___,__session传值__.
考点:考察页面和后台的值传递
23, 说说在struts2中,解决中文乱码的几种方式?
考点:考察乱码的处理
在struts2里面,最好将所有字符都设成utf-8
比如:
<%@ page contentType=”text/html; charset=UTF-8″%><%@ page pageEncoding=”UTF-8″ %>
在struts.properties 添加:
struts.locale=zh_CNstruts.i18n.encoding=UTF-8
在web.xml加个filter
在action中设定字符编符
24,struts2 Action中获取request, response session对象的方法
考点:考察获得对象的方法
非IoC方式:
1,当浏览器第二次(同一会话)访问以下jsp网页时的输出结果是什么?
<!% int a=0;%> <% Int b=0; a++; b++; %>
a:<%= a%><br>
b:<%= b%>
A,a=0 b=0
B,a=1 b=1
C,a=2 b=1
考点:页面载入的时候,哪些代码会执行。(c)
2,下面选择中哪一个不是<jsp:useBean>元素的属性?
A, scope
B, Id
C, Value
D, Class
考点:了解bean的属性(C)
3,在jsp页面的代码中,下面语句的执行结果?
String str1,str2; str1="ab"; str2="ab"; if (str1==str2) out.print("yes"); else out.print("no");
A,yes
B,no
考点:考察对对象的理解。(A)
4, 下面哪一个不是JSP本身已加载的基本类?
A、java.lang.* B、java.io.* C、javax.servlet.* D、javax.servlet.jsp.*
考点:考察jsp本身自带的包 (B)
5, Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:
A.<%@ page %>作用于整个JSP页面。
B.可以在一个页面中使用多个<%@ page %>指令。
C.为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。
D.<%@ page %>指令中的属性只能出现一次。
考点:对jsp一些指令的理解。(D)
6, JSP内嵌对象session的类型为javax.servlet.http. HttpSession,下述语句会使该对象失效的是:
A session.dispose();
B session.clear();
C session.invalidate();
D session.removeAll();
考点:如何让session失效。(C)
7,在jsp中,只有一行代码:<%=’A’+’B’%>,运行结果为_______131_________.
考点:对字母运算的理解。
8,jsp的EL表达式:${user.loginName}的执行效果等同于()。
A,<%=user.getLoginName()%> B,<% user.getLoginName()%> C, <% =user.getLoginName%> D, <% user.getLoginName;%>
考点:对El表达式的理解。(A)
9,jsp页面经过编译后,将创建一个()。
A,applet
B,servlet
C,application
D,exe文件
考点:Jsp编译后,最终也是servlet。(B)
10, 在空格处填写正确的语句:
给定include1.jsp文件代码片断,如下:
<% pageContext.setAttribute("User","HAHA");%>
_______//此处填写代码
给定include2.jsp文件代码片断,如下:
<%=pageContext.getAttribute("User")%>
要求运行include1.jsp时,浏览器上输出:HAHA
要满足以上条件,jsp1.jsp中下划线处应填入以下()语句。
A, <jsp:include page="include2.jsp" flush="true"/> B, <%@ include file="include2.jsp"%> C, <jsp:forword page="include2.jsp"/> D, <% response.sendRedirect("include2.jsp");%>
考点:对静态包含、重定向,转发指令的理解 (B)
11,在jsp中,哪个指令用来声明jsp欲使用的标签库?
A,tld
B,taglib
C,import
D,include
考点:考察标签库 (A)
12,下面选择中哪个是jsp的注释标签?
A,<%@%>
B,<%!%>
C,<%#%>
D,<%----%>
考点:考察易混淆的标识(D)
13,如果不希望在jsp页面中存取http会话,应该设置哪个指令?
A,<%page session= “disabled” %>
B, <%page session= “false” %>
C, <%page session= “true” %>
D, <%page disablesession= “true” %>
考点:考察page指令的属性(B)
14,如何发送Cookie?下面选项中正确的是()
A,使用new Cookie语句
B,调用response.addCookie()方法
C,使用Cookie的setMaxAge()方法
D,setCookie()方法
考点:考察cookie使用(B)
Servlet
在Servlet过滤器的生命周期方法中,每当传递请求或响应时,web容器会调用()方法。
A, init B, service
C, doFilter D, destroy
考点:过滤器何时被调用(C)
在Servlet里,能正确获取session的语句是()。
A, HttpSession session = request.getSession(true); B, HttpSession session = request.getHttpSession(true); C, HttpSession session = response.getSession(true); D, HttpSession session = response. getHttpSession (true);
考点:如何得到session(A)
给定一个Servlet的代码片段如下:
Public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ ______ out.println(“hi kitty!”); out.close(); }
运行次Servlet时输出如下:
hi kitty!
则应在此Servlet下划线处填充如下代码。
A, PrintWriter out = response.getWriter(); B, PrintWriter out = request.getWriter(); C, OutputStream out = response.getOutputStream(); D, OutputStream out = request.getWriter();
考点:如何正确得到out对象(A)
Servlet中,使用()接口中定义的()方法来处理客户端发出的表单数据请求
A, HttpServlet doHead B, HttpServlet doPost
C, ServletRequest doGet D, ServletRequest doPost
考点:Httpservlet的作用,和其里面的方法(B)
servlet 的生命周期有一系列事件组成,把这些事件按照先后顺序排序,以下正确的是()
A, 加载类,实例化,请求处理,初始化,销毁
B, 加载类,实例化,初始化,请求处理,销毁
C, 实例化,加载类,初始化,请求处理,销毁
D, 加载类,初始化,实例化,请求处理,销毁
考点:Servlet的生命过程(B)
假设在helloapp应用中有一个HelloServlet类,它位于org.javadoc包下,那么这个类的class文件应该放在什么目录下?
A,helloapp/HelloServlet.class
B,helloapp/WEB-INF/HelloServlet.class
C,helloapp/WEB-INF/classes/HelloServlet.class
D, helloapp/WEB-INF/classes/org/javadoc/HelloServlet.class
考点:考察文件的存放位置。(D)
ServletContext对象是由谁创建的?
A,由Servlet容器负责创建,对于每一个HTTP请求,Servlet容器都会创建一个ServletContext对象
B,由javaWeb应用负责创建
C,由Servlet容器负责创建,对于每个JavaWeb应用,在启动时,Servlet容器都会创建一个ServletContext对象
D,以上都不对
考点:考察servletcontext对象的产生(C)
在使用服务器端的会话管理时,通过什么方法标识会话?
A,IP地址
B,Cookie
C,session id
D,请求的头
考点:考察表示会话的方法(B)
下面是对servlet生命周期的描述,请在空格处填上正确的答案。
web容器加载servlet,生命周期开始。通过调用servlet的_______方法进行_______的初始化。通过调用service()方法实现,根据请求的不同调用不同的________方法。结束服务,web容器调用servlet的________方法。
考点:考察servlet生命周期中具体的方法。
Init(), servlet, do***(), destroy()
Servlet中四种会话是____,______,________,__________.
考点:考察四种会话。Page,request, session,application
下面关于forward和redirect的说法,错误的是:().
A,前者会显示地址,后者不显示地址。
B, 当需要跳转到一个其它服务器上的资源时,必须使用sendRedirect()方法
C, 前者比后者更加高效。
D, 前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
考点:考察forward和redirect。 (A)
现实servlet的单线程模式的方法是:
________________________________________________.
考点:考察servlet的单线程。
<%@ page isThreadSafe="false"%>
看下面的HTML标签:
<html>
<body>
<a href=”/servlet/MyFirstServlet”>Make me say Hello World!</a>
</body>
</html>
点击超链接后下面哪一个方法将会被调用:()
A,doGet
B,doPost
C,post
D,get
考点:考察超链接时候实际调用方法。 (A)
关于Form表单提交的HTTP的get方法,正确的是()多选
A,不能向服务器提交二进制数据
B,不能向服务器提交无限长度的数据
C,不能向服务器提交多值参数
D,参数附在URL后面
考点:提交时候的参数问题。 (abd)
在web.xml中下面哪个标签表示servlet的URL的映射?()
A,mapping
B,servlet-url
C,url-mapping
D,servlet-mapping
考点:考察servlet标签的使用 (D)
下面哪些发生在jsp页面的转换阶段()。多选
A,执行jsp的init()方法
B,创建一个与jsp相关的servlet类
C,实例化servlet类
D,加载servlet类
考点:jsp页面转换时候做的事情。(BD)
下面哪个方法用于从session中得到对象()
A,Session接口的getAttribute()方法
B,HttpSession接口的getValue方法
C,session接口的getAttribute()方法
D, HttpSession接口的getAttribute()方法
考点:从session中得到对象。(D)
在浏览器禁用cookie前提下,下面哪些技术能够记住客户端状态()多选
A,Http headers
B,Httpsession
C,隐藏域
D,URL重写
考点:记住客户状态的方式。(BCD)
下列哪些表达式所存储的对象可以被servlet或jsp在session里面使用()多选
A,request.setAttribute(name,value);
B,response.setAttribute(name,value);
C,request.getSession().setAttribute(name,value);
D,servlet.getServletContext().setAttribute(name,value);
考点:设置session对象的方法。(CD)
下面哪个方法在ServletContext被初始化时调用:()
A, ServletContextListener接口的contextInitialized()方法
B, ServletContextListener接口的Init()方法
C, ServletContext接口的contextInitialized()方法
D, ServletContext接口的Init ()方法
考点:servlet初始化方法 (A)
下面哪个方法用于URL重写
A,HttpServletResponse接口的rewriteURL()方法
B, HttpServlet接口的rewriteURL()
C, HttpServletRequest接口的encodeURL()方法
D, HttpServletResponse接口的encodeURL()方法
考点:HttpServletResponse接口的常用方法 (D)
[encodeURL 不是url的重写]
下面哪个jsp隐含对象可以实现多次请求共享()多选
A,page
B,request
C,session
D,application
考点:对象存在的时间范围。(CD)
下面哪个表达式表示会话永不过期()。
A,setTimeout(0)
B,setTimeout(-1)
C,setManInactiveInterval(0)
D, setManInactiveInterval(-1)
[有待考证]
考点:设置会话时间。(D)
下面是web.xml中的片段
在servlet中要得到上面的参数,下面哪个表达式是正确的()。
A,getServletConfig().getAttribute(“user”)
B, getServletContext().getAttribute(“user”)
C, getServletConfig().getInitParameter(“user”)
D, getServletContext().getInitParameter (“user”)
考点:获得参数的方法。(D)
Jdbc+sql
下面哪个语句连接后能查询成功?
A,public List<File> getFileByFileName(Long pid, String fileName) { StringBuffer stringBuffer = new StringBuffer("from File f where f.folder.id ="); stringBuffer.append(pid); stringBuffer.append(" and f.name like '"); stringBuffer.append(fileName); stringBuffer.append("%'"); logger.debug("getFileByFileName", "hql 语句链接成功:"+stringBuffer.toString()); return commitHql(stringBuffer.toString()); } B,public List<File> getFileByFileName(Long pid, String fileName) { StringBuffer stringBuffer = new StringBuffer("from File f where f.folder.id ="); stringBuffer.append(pid); stringBuffer.append("and f.name like'"); stringBuffer.append(fileName); stringBuffer.append("%'"); logger.debug("getFileByFileName", "hql 语句链接成功:"+stringBuffer.toString()); return commitHql(stringBuffer.toString()); } C,public List<File> getFileByFileName(Long pid, String fileName) { StringBuffer stringBuffer = new StringBuffer("from File f where f.folder.id ="); stringBuffer.append(pid); stringBuffer.append(" and f.name like "); stringBuffer.append(fileName); stringBuffer.append("%"); logger.debug("getFileByFileName", "hql 语句链接成功:"+stringBuffer.toString()); return commitHql(stringBuffer.toString()); } D,public List<File> getFileByFileName(Long pid, String fileName) { StringBuffer stringBuffer = new StringBuffer("from File f where f.folder.id ="); stringBuffer.append(pid); stringBuffer.append(" and f.name = '"); stringBuffer.append(fileName); stringBuffer.append("%'"); logger.debug("getFileByFileName", "hql 语句链接成功:"+stringBuffer.toString()); return commitHql(stringBuffer.toString()); } 考点:考察在连接sql语句的时候,空格,模糊匹配符%的使用(A) 2,仔细查看下面代码。选出其中正确的事务处理? A,public int delete(int sID) { dbc = new DataBaseConnection(); Connection con = dbc.getConnection(); try { con.setAutoCommit(true); dbc.executeUpdate("delete from bylaw where ID=" + sID); dbc.executeUpdate("delete from bylaw _content where ID=" + sID); dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID); con.commit(); con.setAutoCommit(true); dbc.close(); return 1; } catch (Exception exc) { con.rollBack(); exc.printStackTrace(); dbc.close(); return -1; } } B, public int delete(int sID) { dbc = new DataBaseConnection(); Connection con = dbc.getConnection(); try { con.setAutoCommit(false); dbc.executeUpdate("delete from bylaw where ID=" + sID); dbc.executeUpdate("delete from bylaw _content where ID=" + sID); dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID); con.commit(); con.setAutoCommit(true); dbc.close(); return 1; } catch (Exception exc) { con.rollBack(); exc.printStackTrace(); dbc.close(); return -1; } } C,public int delete(int sID) { dbc = new DataBaseConnection(); Connection con = dbc.getConnection(); try { con.commit(); con.setAutoCommit(false); dbc.executeUpdate("delete from bylaw where ID=" + sID); dbc.executeUpdate("delete from bylaw _content where ID=" + sID); dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID); con.setAutoCommit(false); dbc.close(); return 1; } catch (Exception exc) { con.rollBack(); exc.printStackTrace(); dbc.close(); return -1; } } D,public int delete(int sID) { dbc = new DataBaseConnection(); Connection con = dbc.getConnection(); try { con.setAutoCommit(true); dbc.executeUpdate("delete from bylaw where ID=" + sID); dbc.executeUpdate("delete from bylaw _content where ID=" + sID); dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID); con.commit(); con.setAutoCommit(false); dbc.close(); return 1; } catch (Exception exc) { con.rollBack(); exc.printStackTrace(); dbc.close(); return -1; } }
考点:考察如何正确进行事务处理(B)
3,有如下2个表,仔细观察表字段。写出sql语句。
销售表:Amount表
部门表:Dept表
1, 查询所有dept部门的销售金额amount。(要显示出部门名称和其金额)。select a.deptname,b.amount from dept a left join amount b on a.deptid = b.deptid
因为是所有部门,所以不能单单从amount进行查询。
考点:考察对需求的理解,对表中字段的理解,左连接的使用。
查询有销售记录的部门销售金额,并且金额大于5000,时间在第四季度的,按部门进行分组。(要显示出部门名称和其金额)
select a.deptname,b.amount from dept a
right join amount b on a.deptid = b.deptid
where b.amount>5000 and month in (10,11,12)
group by a.deptname
考点:考察右连接的使用,in的使用,和如何分组。
4,根据要求,编写sql语句。
有3个表:
Employee职工(工号,姓名,性别,年龄,部门)(num,name,sex,age,dept)
Wage工资(编号,金额)(No,amount)
Attend出勤(工号,工资编号,出勤率)(num,No,attendance)
查询工作金额为8000的职工工号和姓名。
查询职工张三的出勤率。
查询3次出勤率为0的职工姓名和工号。
查询出勤率为10并且工资金额小于2500的职工信息。
考点:考察sql语句的常用写法
1, select eml.num,eml.name form Employee eml
where
(
select count(*) form Attend where num=eml.num nad No=
(
Select No from Wage where amount=’8000’
)
)
2, select amount from Wage where No in
(
Select No from Attend where num=
(
Select num from Employee where name like ‘张三’
)
)
3, select eml.num,eml.name from Employee eml where
(
Select count(*) from Attend where num=eml.num and attendance=0
) = 3
4, select * from Employee eml where
(
Select No from Attend where num=eml.num and attendance=’10’
) =
(
Select No from Wage where amount < 2500
)
5,select char(65) from user;查询的结果是什么?
A, a
B, b
C, A
D, B
考点:对特殊符号的理解(C)
[答案选项设计不正确]
6,在sql Server中,建立一个student表包含一个sex列,使用下列哪种方法能保证sex列中的输入值只能是M或F?
A, 创建一个存储过程验证sex列中的数据
B, 对student表添加一个default约束
C, 对sex列添加一个触发器,在提交后验证数据
D, 对sex列添加一个check约束
考点:考察如何对表中字段进行约束。(D)
7,根据表score选出正确的select语句。
表score(id, names, math, English, VB)
A, select id,sum(math) from score
B, select sum(math),avg(VB) from score
C, select *,sum(english) from score
D, delete * from score
考点:考察对sum的使用。(B)
8,在查询分析器中运行下面的语句,会得到什么样的结果?
CREATE TABLE numbers(
N1 INT,
N2 NUMERIC(5,O),
N3 NUMERIC(4,2)
)
GO
INSERT numbers VALUES(1.5, 1.5, 1.5)
SELECT * FROM numbers
A, 2, 2, 1.5
B, 1.5, 1.5, 1.5
C, CREATE TABLE 命令不会执行,因为你无法将列N2的精度设置为0
D, 1, 2, 1.50
考点:考察对int和numeric的使用(D)
9, JDBC中__________类对象保存了所有__________类对象中关于字段信息,提供多个方法来取得这些信息;
ResultSetData, ResultSet
考点:考察jdbc中查询的结果存放在哪里
10, 当对对象进行批量更新时,采用__________创建对象效率较高,采用__________创建则效率较低;
preparedStatement Statement
考点:对statement的理解。
正则表达式
以a开头和结尾的所有小写字母串。
^a[./n]*a$考点:考察正则表达式字母的写法
第一个数不为0的所有数字串。
^[1-9]+[0-9]*$
考点:考察正则表达式数字的写法
正则表达式中,常用的元字符有
A, $
B, *
C, +
D, ?
考点:考察基本匹配符(A)
正则表达式中,用来匹配数字的是
A, \w
B, \d
C, \s
D, \b
考点:考察基本的匹配符的理解(B)
若要表示a字母后面跟着0个或一个b,则应该写成:
A, “ab*”
B, “ab+”
C, “ab?”
D, “a?b+$”
考点:考察*,+,?的使用(C)
写出精确查找hi这个单词的表达式。
考点:\b符号的使用
答案:\bhi\b
写出hi后跟着一个单词Lucy的正则表达式
考点:常用符号.和*的使用答案:\bhi\b.*\bLucy\b
说出下面正则表达式的意义。并用另种方法实现它。
0\d\d-\d\d\d\d\d\d\d\d
考点:数字的匹配方法
答案:以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字(也就是中国的电话号码)
另种实现方法:0\d{2}-\d{8}
写出匹配QQ号为5位到12位数字。
考点:考察开始、结束符号,和数字范围。答案:^\d{5,12}$
说说正则表达式中+符号和*符号的区别
考点:+和*的区别答案:+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。
说出下面这个正则表达式的含义:\(?0\d{2}[) -]?\d{8}
考点:?符号的使用答案:首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)或-空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。比如:010)88886666
022-22334455
02912345678
写出符合要求的正则表达式:匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010-12345678),一种是4位区号7位本地号(0376-2233445)考点:分枝符号的使用答案:0\d{2}-\d{8}|0\d{3}-\d{7}
观察下面2个正则表达式,说出他们是否相等?并说明理由。
\d{5}-\d{4}|\d{5}和\d{5}|\d{5}-\d{4}考点:使用分枝条件时,要注意各个条件的顺序答案:不相等。原因:前面匹配的是:5位数字,或者用连字号间隔的9位数字。而后面匹配的是:5位的邮编(以及9位邮编的前5位)
说出下面正则表达式的含义:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
考点:分组符号的使用答案:ip地址
说出下面正则表达式的含义:[\u4e00-\u9fa5]
考点:考察常用的匹配中文字符的写法。
答案:匹配中文字符
写出匹配正整数的正则表达式。
考点:常用的正则表达式的写法 答案:^[1-9]\d*$
Freemarker
现在后台的java文件中,设置一个参数:request.setAttribute("flag","exists");
如何在页面中得到?
A, ${request.flag}
B, request.getAttribute(“flag”);
C, request.get Parameter(“flag”);
D, ${request. get Parameter(“flag”)};
考点:考察freemarker如何从后台取值。(A)
2, 有一个用户的list集合:userList,有三个属性:userName,userPassWord, userAge。请编写freemarker中list循环的列子,并按照年龄排序。
考点:考察list的使用
<#list userList?sort_by(“userAge”) as user>
Name: ${user.userName}
Password:${user.userPassWord}
Age: ${user.userAge}
</#list>
3, 有如下结构,要得到name值,下面表述错误的是
A, book.author.name
B, book["author"].name
C, book.author.["name"]
D, book["author"]["name"]
E, 以上都是错的。
考点:考察多种写法(E)
[题目说明不清晰,答案设计不合理]
4,下面写法错误的是:
A, ${"Hello ${user}!"}
B, ${"${user}${user}${user}${user}"}
C, ${user + user + user + user}
D, <#if ${isBig}>Wow!</#if>
考点:考察${}的用法(D)
5, 假设user的值为Big Joe。下面语句执行的结果是:
${user[0]}${user[4]}
${user[1..4]}
A, Big J 和 ig J
B, BJ 和 iJ
C, BJ 和 ig J
D, Big J 和 ig J
考点:考察字符的截取。(c)
Struts
1, 在web.xml文件中要配置struts2的拦截器。拦截器中会自动加载____,____,____3个xml文件。
考点:考察Struts2中常用的3个配置文件
Strurs-default.xml, struts-plugin.xml, struts.xml
2, 现有如下配置:
<action name=”*News”
Class=”com.struts.NewsAction” method=”{1}”>
……..
</action>
那么当请求/createNews时候,会请求的是_________类的__________方法。
考点:考察通配符的使用(NewsAction ,create)
在web.xml文件中,通常会有如下配置:
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
此配置表示:_________________________________________.
考点:了解可以手动设置要拦截器的文件(拦截所有用户请求)
在自定义拦截器的时候,要注意最后配置________________才不会出错。
考点:Sturts2默认的拦截器不要忘记配,不然会出错。
(<interceptor-ref name="defaultStack"/>)
默认情况下,struts2的配置文件的执行顺序是什么?
A,struts.properties, struts-default.xml,struts-plugin.xml,struts.xml,web.xml
B, struts-default.xml,struts-plugin.xml, struts.properties ,struts.xml,web.xml
C, struts-default.xml,struts-plugin.xml,struts.xml, struts.properties ,web.xml
D, struts-default.xml, struts.properties ,struts-plugin.xml,struts.xml,web.xml
考点:考察配置文件的执行顺序,在配置常量的时候要注意,后执行的文件会覆盖前面文件中定义的名字相同的常量。(C)
下面关于拦截器的说法,错误的是:
A, Struts2拦截器是不可插拔的,拦截器不是AOP的一种实现,和AOP没有关系.
B, Struts2拦截器栈就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,Struts2拦截器链中的拦截器就会按其之前定义的顺序被调用。
C, Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器.
D, 拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。
考点:考察对拦截器的理解(A)
7, struts2的拦截器的执行顺序是:
A, 先是:拦截器,action,result,然后返回时候是result,action,拦截器
B, 先是:action,result,拦截器,然后返回时候是 拦截器,result,action,
C, 先是:action,result,拦截器,然后返回时候是result,action,拦截器
D, 先是:action,拦截器,result,然后返回时候是result,拦截器,action
考点:了解拦截器内部执行顺序 (A)
8, 下面关于拦截器调优,说法错误的是:
A, 关闭logging和devMode
B, 使用正确的HTTP头(缓存控制和过期时间)
C, 使用session存储变量,减轻页面负担
D, 不要使用你不需要的拦截器
考点:考察对拦截器进行调优的一些常用方法 (C)
9, 下面关于Result说法错误的是:
A, Struts2将Result列为一个独立的层次
B, Result是为了解决MVC框架中,如何从Control层转向View层这样一个问题而存在的
C, 模板显示的基本原理,需要将预先定义好的模板(Template)和需要展示的数据(Model)组织起来,交给模板引擎,才能够正确显示。而这部分工作,就由模板自身完成的,与Result层无关。
D, Result能够对JSP,Freemarker/Velocity模板,甚至是JSON对象等等这些显示类型进行区分,并封装合理的跳转逻辑。
考点:了解Result的作用 (C)
10, 在Result的结果类型中,表示重定向到另一个action的是_ ____.
考点:考察常用的结果类型 redirectAction
11, 默认的Result的结果类是___ ____.
考点:考察常用的结果类型 dispatcher
12, 关于struts2的验证,下面说法错误的是.
A, 不能在execute方法中进行验证。
B, 可以在execute方法中进行验证。
C, 可以写成validateXxx(),这样struts2会自动调用进行验证。
D, 可以继承ActionSupport,重写validate()方法来进行验证。
考点:考察验证的方法(A)
13, 有一个类UserAction,要想对这个类里面的字段,使用struts2自带的验证器进行验证,则应该采用的方法是:
A, 在UserAction的UserActionclass目录下,建立UserAction-validation.xml文件
B, 在UserAction的UserActionclass目录下,建立UserActionValidation.xml文件
C, 可以在webapp下面,建立UserAction-validation.xml文件
D, 可以在webapp下面,建立UserActionValidation.xml文件
考点:考察如何使用struts2自带的验证器(A)
14, 对于使用validate方法进行验证的时候,下面说法错误的是:
A, 方法最后要返回值,用来表示执行方法之后的跳转。
B, validate方法是在execute方法前执行的。
C, 在validate方法中,可以把错误信息通过addFieldError方法加到错误对象中,然后在页面中显示出来。
D, 如果在validate方法中,有错误信息被添加到错误对象中,那么就不会再执行execute方法来。
考点:考察对validate的了解(A)
15, struts2的核心标签库有__Html标签___,___bean标签___,___logic标签_____.列出3个即可
考点:考察常用的标签。
16, 在空格处填写正确的语句,并写出的执行结果:
有一个jsp页面,ifTag.jsp.代码如下:
<%@ page contentType=”text/html;charset=GBK” %>
<%@ taglib prefix=”s” uri=”/struts-tags” %>
<s:set name=”score” value=”____________”/>
<s:if test=”#score<60”>
不及格
</s:if>
<s:elseif test=”#score>=60 && #score<85”>
及格
</s:elseif>
<s:else>
优秀
</s:else>
启动tomcat服务器后,在浏览器输入下面的URL:
http://localhost:8080/test/ifTag.jsp?score=88
填入的一句是____,打印结果是__ __。
考点:考察如何请求时候传参数 #parameters.score[0] 优秀
17, 请求页面后,显示的值
<%@ page contentType=”text/html;charset=GBK” %>
<%@ taglib prefix=”s” uri=”/struts-tags” %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:iterator value="{'radio','lisi','go'}" status="status">
<s:property value="#status.count"/>
<s:property value="#status.index"/>
<s:property value="#status.first"/><br>
</s:iterator>
考点:考察常用标签的使用
1 0 true
2 1 false
3 2 false
18, 下面关于国际化,说法错误的是:
A, 全局的国际化资源文件放在src目录下,在struts.xml中定义常量声明
B, 局部的国际化资源文件分为包级别的、和类级别的。
C, 在包级别的、类级别的、和全局的里面有同名的信息时,类级别的信息会覆盖包级别,包级别会覆盖全局的。
D, 在包级别的、类级别的、和全局的里面有同名的信息时,全局级别的信息会覆盖包级别,包级别会覆盖类级别的。
考点:考察对国际化的了解(D)
19, struts2提供了多种方法来访问资源文件中的本地化消息,下面说法错误的是:
A, 可以在action中访问本地化消息
B, 可以在jsp页面中访问本地化消息
C, 可以在表单标签的属性中访问本地化消息
D, 不能在资源文件中访问本地化消息
考点:考察国际化的使用(D)
20, 有下面一段代码,请在横线上填写正确的方法:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2><s:text name="HelloWorld"/></h2>
<h2><s:property value="%{_____ ______ ('HelloWorld')}"/></h2>
</body>
</html>
考点:考察如何从属性文件中取值 getText
21,请简述struts2的工作流程
考点:考察工作流程
基本简要流程如下:
(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;
(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到
ActionForm对象中;
(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;
(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;
(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;
(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件;
(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;
22,struts2中,页面和后台传值的三种方式:___属性传值___,___对象传值___,__session传值__.
考点:考察页面和后台的值传递
23, 说说在struts2中,解决中文乱码的几种方式?
考点:考察乱码的处理
在struts2里面,最好将所有字符都设成utf-8
比如:
<%@ page contentType=”text/html; charset=UTF-8″%><%@ page pageEncoding=”UTF-8″ %>
在struts.properties 添加:
struts.locale=zh_CNstruts.i18n.encoding=UTF-8
在web.xml加个filter
<!– zh-cn encoding –><filter><filter-name>struts-cleanup</filter-name><filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class></filter><filter-mapping><filter-name>struts-cleanup</filter-name><url-pattern>/*</url-pattern></filter-mapping>
在action中设定字符编符
HttpServletResponse response = null;response = ServletActionContext.getResponse();request.setCharacterEncoding(”utf-8″);response.setContentType(”text/html;charset=utf-8″);
24,struts2 Action中获取request, response session对象的方法
考点:考察获得对象的方法
非IoC方式:
ActionContext ctx = ActionContext.getContext(); HttpServletRequest request = (HttpServletRequest)ctx.get (ServletActionContext.HTTP_REQUEST); HttpServletResponse response = (HttpServletResponse)ctx.get (ServletActionContext.HTTP_RESPONSE); Map session = context.getSession(); IoC方式: HttpServletRequest request; HttpServletResponse response; SessionMap session; public void setSession(Map map) { this.session = (SessionMap) map; } public void setServletRequest(HttpServletRequest request) { this.request = request; } public void setServletResponse(HttpServletResponse response) { this.response = response; }
发表评论
-
Java 面试经典 04--Spring、Hibernate
2010-10-13 12:56 2667spring:依赖注入,事务管理,JDBC数据访问,sp ... -
Java 面试经典 02--Jquery
2010-10-13 12:51 1707一、Jquery测试题 下面哪种不是jquery的选择器?( ... -
WebService基础概要
2010-02-25 14:19 1256一、 Web Service的简介 1 ... -
Axis2部署WebService-----简单应用
2010-02-25 14:18 3468首先介绍一下,这个应用的业务逻辑,很简单,就是客户端向服武器端 ... -
java反射机制
2010-02-25 13:49 888Reflection 是 Java 程序开发语言的特征之一,它 ... -
java远程处理
2010-02-25 13:42 853Java远程方法调用(RMI)提 ... -
java方法概述
2010-02-25 01:13 784检查参数的有效性 非公有的方法我们应该用断言的方法来检查它的 ... -
java异常处理
2010-02-25 01:09 883只针对不正常的条件才使用异常 异常只应该被用于不正常的条件 ... -
类和接口
2010-02-25 00:50 902使类和成员的可访问能力最小化 public表示这个类在任何范围 ... -
Java通用方法
2010-02-25 00:46 787Object中的所有非final方法(equals 、hash ...
相关推荐
本资源"Java面试宝典2018-最全面试资料"是为Java开发者准备的一份全面的面试指南,旨在帮助求职者深入理解Java的核心概念和技术,以及如何在实际项目中应用它们。 1. **JavaSE**: Java Standard Edition是Java的...
### JavaWeb高频面试知识点 #### 一、JQuery的常用选择器 JQuery是一个轻量级的JavaScript库,简化了HTML文档遍历、事件处理、动画等操作。它提供了多种选择器来帮助开发者轻松地选取网页元素。 - **基本选择器**...
这份"java面试之------J2EE测试题1.rar"压缩包显然包含了针对J2EE面试的一系列问题,旨在帮助求职者准备相关面试。以下是对J2EE的一些关键知识点的详细解释: 1. **Servlet**:Servlet是Java Web应用的核心组件,它...
Java面试题01.面试的整体流程 Java面试题02.java的垮平台原理 Java面试题03.搭建一个java的开发环境 Java面试题04.java中int占几个字节 Java面试题05.java面向对象的特征 Java面试题06.装箱和拆箱 Java面试题07.==和...
### Java私塾面试题解析 —— 线程与EJB部分 #### 一、线程编程基础 **1. 实现线程的两种方法及其优缺点** Java中实现线程主要有两种方式: - **继承`Thread`类**:创建一个新的类继承自`Thread`类,并重写`run...
根据提供的文件标题、描述、标签以及部分内容链接,我们可以推断出这份资料主要聚焦于Java开发者的中级面试准备。下面将围绕这一主题展开一系列重要的Java知识点,帮助求职者更好地准备面试。 ### Java基础知识 ##...
Java Web 基础八股文 Java Web 技术是 Java 语言在 Web 开发领域的应用,旨在帮助开发者快速构建高效、可靠的 Web 应用程序。本文将从 HTTP 协议、Servlet 生命周期、请求与响应、Servlet 域对象、Session 和 ...
java面试题01.面试的整体流程.mp4 │ Java面试题02.java的垮平台原理.mp4 │ Java面试题03.搭建一个java的开发环境.mp4 │ Java面试题04.java中int占几个字节.mp4 │ Java面试题05.java面向对象的特征.mp4 │ Java...
### JAVA面试题集锦知识点概览 #### 一、Java基础知识 1. **Java基本数据类型**:Java中有八种基本数据类型,分别是`byte`、`short`、`int`、`long`、`float`、`double`、`char`和`boolean`。`String`不是基本数据...
在传统的JSP-Servlet-JavaBean架构中,JSP负责展示界面,Servlet承担控制逻辑,而JavaBean则处理业务逻辑。Struts通过引入ActionServlet、FormBean和ActionBean等概念,进一步细化了这一架构。 **ActionServlet**:...
《Java面试宝典-经典面试题及Java编程基础》是一本汇集了大量Java面试题和基础知识的宝贵资源,旨在帮助Java开发者在求职面试过程中更好地准备和提升自我。这本书的内容广泛,涵盖了从基础概念到高级技术的多个领域...
### Java经典面试题知识点 #### Java数据结构容器 - **核心知识点**:Java集合框架,包括List、Set、Map等接口及其实现类。List接口代表有序的集合,例如ArrayList和LinkedList;Set接口代表不允许重复元素的集合,...
### Java基础知识 #### 1. Java的基本数据类型与String类型的区别 - **基本数据类型**:包括`byte`, `short`, `int`, `long`, `float`, `double`, `char`, `boolean`。这些类型是Java语言直接支持的类型,它们在...
在Java笔试面试中,面试官通常会考察应聘者对Java基础知识、高级特性、框架以及中间件的掌握程度。以下是一些核心知识点的详细说明: 1. **Java基础**: - **JDK与JRE的区别**:JDK包含JRE,提供开发和运行Java...
Java面试题大全,被称作“葵花宝典”,是为那些刚刚毕业、缺乏实际工作经验的求职者量身定制的面试准备资料。这份文档旨在帮助求职者掌握Java核心技术,提高他们在笔试环节的成功率。以下是对这份文档中可能涵盖的...
### Java面试经典题目详解 #### 一、Java基础问答深入解析 1. **哪些类可以被继承?** 在给出的示例中,`java.lang.Thread`和`java.lang.ClassLoader`是可以被继承的,而`java.lang.Double`, `java.lang.Math`, `...