第九章 基于Servlet的MVC模式习题
- 格式:doc
- 大小:36.00 KB
- 文档页数:2
1. 在JSP中,要定义一个方法,需要用到以下的元素是()。
A. <%= %>B. <% %>C. <%! %>D. <%@ %>正确答案:C2. 在Java Web开发中,不同的客户端需要共享的数据应存储在()中。
A. sessionB. applicationC. requestD. response正确答案:B3. login.jsp为登录页面,表单代码如下:<form action="index.jsp" method="post"><input type="text" name="pwd"/><input type="submit" value="登录"/></form>index.jsp中直接显示密码,以下代码正确是:()。
A. ${requestScope.pwd}B. <%=pwd%>C. ${param.pwd}D. <%=param.pwd%>正确答案:C4. JSP文件代码如下:<% int temp; %><h1> temp is <%=temp%></h1> 编译或运行结果是:()。
A. 输出:temp is 0B. 输出:temp isC. 编译出错,因为temp没有被初始化D. 输出:temp is null正确答案:C5. 在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件可以为:()。
A. .jsp文件B. .class文件C. .jar文件D. web.xml文件正确答案:A6. 在JavaEE中,使用Servlet 过滤器,需要在web.xml中配置的元素是:()A. <servlet>和<servlet-mapping>B. <filter>和<filter-mapping>C. <servlet-filter>D. <filter-config>正确答案:B7. 下面为部署文件中的Servlet映射代码片段,正确的是:( )A. <servlet-mapping><servlet>Demo</servlet><url-pattern>/demo</url-pattern></servlet-mapping>B.<servlet-name><servlet-mapping>demo</servlet-mapping><url-pattern>/Demo</url-pattern></servlet-name>C.<servlet-mapping><servlet-name>Demo</servlet-name><url-pattern>/demo/*</url-pattern></servlet-mapping>D.<servlet><servlet-name>Demo</servlet-name><url-pattern>/demo/*</url-pattern></servlet >正确答案:C8. 下列代码的输出结果是()。
servlet面试题及答案servlet面试题及答案(一)1.Servlet执行时一般实现哪几个方法?Public void init(ServletConfig config)public ServletConfig getServletConfig()public String getServletInfo()public void service(ServletRequest request,ServletResponse response) public void destroy()2. url重写有几种方式?由于cookie可以被人为的禁止,必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器。
经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面,附加方式也有两种,一种是作为URL路径的附加信息,表现形式为...../xxx;jsessionid=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764另一种是作为查询字符串附加在URL后面,表现形式为...../xxx?jsessionid=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99 zWpBng!-145788764这两种方式对于用户来说是没有区别的,只是服务器在解析的时候处理的方式不同,采用第一种方式也有利于把session id的信息和正常程序参数区分开来。
为了在整个交互过程中始终保持状态,就必须在每个客户端可能请求的路径后面都包含这个session id。
3.在jsp中引用使用jsp:useBean id=" " ...scope=" "/来引用javabean.Ⅰscope的值有哪些,这些值的区别是什么?不同的jsp页面中引用javabean 时,id能否相同,如果能相同,对scope的值有什么要求?scope可以为:application|page|session|requeat这个东西就是指定ID 的有效范围。
1.B 编写一个Filter,需要()A. 继承Filter 类B. 实现Filter 接口C. 继承HttpFilter 类D. 实现HttpFilter接口2.D 自定义标签的配置文件放在________A. WebRootB. libC. classesD. WEB-INF3. ABC 有关会话跟踪技术描述正确的是( )(多选)A. Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端。
B. 关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期。
C. 在禁用Cookie时可以使用URL重写技术跟踪会话。
D. 隐藏表单域将字段添加到HTML表单并在客户端浏览器中显示。
4.C 在J2EE中,重定向到另一个页面,以下()语句是正确的A. request . sendRedirect(“http :// www . svse . com . cn”);B. request . sendRedirect();C. response . sendRedirect(“http: // www . svse . com . cn”);D. response .sendRedirect();5.B EL表达式,${10 mod 3},执行结果为( )A. 10 mod 3B. 1C. 3D. null6. C 自定义标签的作用是( )A. 编写和使用方便B. 规定是这样的,如果不用,别人会说我们不专业C. 可以减少jsp中的java代码,将代码与界面标签分离,简化前台开发D. 连数据库7.B request.getRequestDispatcher().forward(request,response)称之为( )A. 流转B. 转发C. 重定向D. 导航8. BCD 有关Servlet的生命周期说法正确的有( ) (多选)A. Servlet的生命周期由Servlet实例控制。
1、不定项选择题1.1、DAO模式,位于JavaEE体系结构的哪层?A 客户端层B WEB层C 业务层D 数据层1.2、SUN公司的JSP规范提出了两种用JSP技术建立应用程序的方式,以下正确的是:A DAOB Model1(模式1)C Model2(模式2)D MVC1.3、在MVC架构中,谁负责通知应用程序本身有状态改变A 模型ModelB视图ViewC控制器Controller1.4、在JSP中,MVC模式中的控制器之角色由谁担当?A 由Java Bean或EJB充当.B Servlet对象充当.C由一个或多个JSP页面或HTML页面充当.D 由JDBC程序充当1.5、MVC模式中用到的JavaBean是由谁负责创建和初始化?A HTMLB JSPC ServletD Filter2、请简述你对MVC模式的理解MVC是Model-View-Controller的简写。
(1)MVC是一种通过3个不同部分构造一个软件或组件的理想办法:模型(Model):封装了最核心的功能,用于存储数据以及处理用户请求的业务逻辑。
视图(View):系统和用户交互的界面,向控制器提交所需数据,显示模型中的数据。
控制器(Controller):扮演调度者的角色,,即控制器根据视图提出的请求判断将请求和数据交给那个模型处理,处理后的有关结果交给哪个视图更新显示。
(2)在JSP技术中,“视图”,“模型”和“控制器”的具体实现如下:模型(Model):一个或多个JavaBean对象,用于存储数据和处理数据;视图(View):一个或多个JSP页面,为模型提供数据显示,JSP页面主要使用HTML标记和JavaBean标记来显示数据;控制器(Controller):一个或多个Servlet对象,根据视图提交的请求进行控制,生成JavaBean 实例输出给JSP页面。
3、MVC的好处是什么?MVC是Model-View-Controller的简写。
Servlet习题1 、Servlet执行时一般实现哪几个方法?public void init(ServletConfig config)public ServletConfig getServletConfig()public String getServletInfo()public void service(ServletRequest request,ServletResponse response)public void destroy()2 、说一说Servlet的生命周期?servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。
这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
3 、JAVA SERVLET API中forward() 与redirect()的区别?前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。
这样,从浏览器的地址栏中可以看到跳转后的链接地址。
所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。
在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
ServletJSP课后习题解答第1章课后练习选择题1. 以下何者适合使用GET请求来发送?(A)使用者名称、密码(B)检视论譠页面(C)信用卡资料(D)查询数据的分页答案:B、D提示:敏感性数据不应使用GET来发送。
论譠页面、数据分页可以使用GET,便于使用者设定为书签。
2. 以下何者应该使用POST请求来发送?(A)使用者名称、密码(B)档案上传(C)搜寻引擎的结果画面(D)BLOG文件答案:A、B、D提示:敏感性数据、大量数据不应使用GET来发送。
搜寻引擎结果画面可以使用GET,便于使用者设定为书签。
3. HTTP哪个请求方式,请求参数会出现在网址列上?(A)GET(B)POST答:A4. 以下何者适合使用GET请求来发送?(A)检视静态页面(B)查询商品数据(C)新增商品资料(D)删除商品数据答案:A、B提示:这题在考等幂操作,不改变服务器状态的查询应使用GET。
5. 以下何者应该使用POST请求来发送?(A)查询商品数据(B)新增商品资料(C)更新商品数据(D)删除商品数据答案:B、C、D提示:这题在考非等幂操作,会改变服务器状态的查询应使用POST。
6. 以下何者是属于客户端执行的程序?(A)JSP(B)JavaScript(C)Servlet(D)Applet答案:B、D7. Servlet/JSP主要是属于哪个Java平台的规范之中?(A)Java SE(B)Java ME(C)Java EE答:C8. Servlet/JSP必须基于哪一类型的容器才能提供服务?(A)Applet容器(B)应用程序客户端容器(C)Web容器(D)EJB容器答:C9. Web容器在收到浏览器请求时,会如何处理请求?(A)使用单一执行绪处理所有请求(B)一个请求就建立一个执行绪来处理请求(C)一个请求就建立一个行程来处理请求(D)一个请求就执行一个容器来处理请求答:B10. Java EE中各技术标准最后将由什么文件明订规范?(A)JCP(B)JSR(C)JDK答:B提示:JCP是组织名称。
一、选择题1. A2. B3. C4. B5. A二、填空题1. 注册驱动,配置文件。
2. struts2、Spring、Hibernate3. 模型层、视图层、控制层4. struts2、Spring、Hibernate5. Hibernate,数据库,数据表,JDBC操作,JavaBean三、简答题1.servlet的基本工作流程。
(1)客户端通过Http提出请求;(2)Web服务器接收该请求并将其发送给Servlet,若Servlet尚未被加载,Web服务器将把它加载到Java虚拟机并执行它;(3)Servlet程序将接受该Http请求并执行某种处理;(4)Servlet会将处理后的结果向Web服务器返回应答;(5)Web服务器将从Servlet收到的应答发送给客户端。
2.请简述struts2中输入校验的几种方式。
(1)重写validate()方法,前提是你当前类要实现Validateable接口。
我们的一般做法是继承ActionSupport类,这个类帮我们实现了这个接口。
我们只需要在当前类中重写即可,并在里面进行自己的业务处理判断。
(2)我们将不同的业务逻辑放在不同的方法中去,然后为每一个方法重写一个验证方法。
(3)基于配置文件的校验我们可以将我们的校验信息以xml的形式写出来。
目的是为了简化java代码和提高效率。
3.spring核心是什么。
依赖注入和控制反转。
4.项目中为什么使用SSH。
(1)使用Struts:因为struts是基于MVC模式的,很好的将应用程序进行了分层,使开发者更关注于业务逻辑的实现;第二,struts有着丰富的taglib,如能灵活运用,则能大大提高开发效率。
(2)使用Hibernate:因为hibernate为Java应用提供了一个易用的、高效率的对象关系映射框架。
hibernate是个轻量级的持久性框架,功能丰富。
(3)使用Spring:因为spring基于IoC(Inversion of Control,反向控制)和AOP构架多层j2ee系统的框架,但它不强迫你必须在每一层中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;。
一:选择题1. 动态网站需要的技术为。
(选择3项)A.CGIB.HTTPC.ASPD.PHP2. 在部署Servlet时,web.xml文件中<servlet>标签应该包含哪些标签。
(选择2项) A.<servlet-mapping>B.<servlet-name>C.<url-pattern>D.<servlet-class>3. 假设web应用的文档根目录为MyApp,那么可以从哪里找到database.jar文件。
(选择1项)A. MyApp目录下B. MyApp\images目录下C. MyApp\WEB-INF目录下D. MyApp\WEB-INF\lib目录下4.为了获得用户提交的表单参数,可以从哪一个接口中得到。
(选择1项)A. ServletResponseB. ServletC. RequestDispatcherD. ServletRequest5.从以下哪一个选项中可以获得Servlet的初始化参数。
(选择1项)A. ServletB. ServletContextC. ServletConfigD. GenericServlet6.表示“资源移动”的状态码是。
(选择1项)A. 200B. 302C. 400D. 5007.哪一个对象可以用于获得浏览器发送的请求。
(选择1项)A. HttpServletRequestB. HttpServletResponseC. HttpServletD. Http8.事务处理的结束方式。
(选择2项)A.中止B.提交C.完成D.回滚9.如何取得数据源。
(选择1项)A.通过HttpB.通过ftpC. JNDID.通过Connection对象10.会话是。
(选择1项)A.一个TCP/IP连接B.一个物理连接C.客户机和Web服务器之间的一组交互D. Http请求11.客户端状态管理的解决方案有。
Servlet试题1.下列哪一个XML标签表示某一个servlet的类 eA.〈servlet—class>com。
abciinc。
OrderServlet.class〈/servlet-class〉B.〈class>com。
abcinc.OrderServlet〈/class>C.〈servlet>com。
abcinc。
OrderServlet</servlet>D.<servletclass〉com。
abcinc。
OrderServlet</servletclass〉E.〈servletclass〉com。
abcinc。
OrderServlet</servletclass〉2.看下列HTML标签: a点击超级链接后下列哪一个servlet方法将被调用:A.doGetB.doGETC.postD.doPostE.doPOST3.下列哪一个jsp标签是正确的A.<%@include file="notice.html” %>B.〈jsp:include file=”notice。
html” /〉C.〈jsp: include page="notice.html” /〉D.〈%!include file=”notice.html” %〉4.下列哪一个方法用于设置HttpServletResponse的内容类型 b A.setParameterB.setContentTypeC.setAttributeD.doPostE.None of the above5.关于FORM表单提交的HTTP的GET方法(选择3个答案) abd A.不能向服务器提交两进制数据B.不能向服务器提交无限长度的数据C.不能向服务器提交多值参数D.参数附在URL后面6.在web.xml中下面哪一个标签表示servlet的URL的映射 e A.mappingB.servlet—urlC.url_mappingD.url_patternD.servlet—mapping7.下列哪些发生在jsp页面的转换阶段(选择两个答案) ce 20A.执行of_jspService()方法B.执行jspInit()方法C.创建一个与jsp相关的servlet类D.实例化servlet类E.加载servlet类8.下列哪一个方法用于从session中得到对象 e 21A.Session接口的getAttribute()方法B.HttpSession接口的getValue方法C.Session接口的getValue()方法D.Session接口的get ()方法E.HttpSession接口的getAttribute()方法9.在浏览器禁用cookie前提下,下列哪些技术能够记住客户端状态bcd 22 A.Http headersB.HttpsessionC.隐藏域D.URL重写E.没有cookie支持无法实现10.下列哪些表达式所存储的对象可以被servlet或jsp在session里使用(选择两个答案) cd 25 A.request.setAttribute(name,value);B.response。
Servlet题库⼀、填空题1.Servlet中使⽤Session对象的步骤为:调⽤HttpServletRequest.getSession()得到Session对象,查看Session对象,在会话中保存数据2.http全称是___HyperText Transfer Protocol_____3.⽤户可以有多种⽅式请求Servlet,如浏览器直接调⽤,页⾯form中提交调⽤、超链接调⽤、 Servlet调⽤等。
4.out对象的 _out.flush()_⽅法,功能是输出缓冲的内容。
5.response对象的_ sendRedirect(URL url)__⽅法可以将当前客户端的请求转到其他页⾯去。
表单的提交⽅法包括__get__和___post__⽅法。
6.response.setHeader(“Refresh”, “5”)的含义是指页⾯刷新时间为 5秒 _。
7.表单标记中的__action___属性⽤于指定处理表单数据程序url的地址。
8.使⽤cookie的基本步骤为:创建cookie对象,设置cookie对象的有效时间,传送cookie对象,读取cookie对象。
9.Servlet中使⽤Session对象的步骤为:调⽤HttpServletRequest.getSession()得到Session对象,查看Session对象,在会话中保存数据。
10. 在Servlet中,主要使⽤HttpServletResponse类的重定向⽅法sendRedirect() ⽅法实现重定向,以及使⽤RequestDispatcher类的转发⽅法 forward()⽅法实现转发功能。
11. javax.servlet.Servlet接⼝定义了三个⽤于Servlet⽣命周期的⽅法,它们是init() 、service()、 destroy()12. Servlet中使⽤Session对象的步骤为:调⽤HttpServletRequest.getSession()得到Session对象,查看Session对象,在会话中保存数据。
第九章基于Servlet的MVC模式
一、选择题
1.关于MVC架构的缺点,下列的叙述哪一项是不正确的?()A)提高了对开发人员的要求B)代码复用率低
C)增加了文件管理的难度D)产生较多的文件
2.关于JSP Model1模式的缺点,下列的叙述哪一项是不正确的?()A)应用是基于过程的B)业务逻辑和表示逻辑混合
C)软件维护和扩展困难D)产生较多的文件
3.关于JSP Model2模式的优点,下列的叙述哪一项是不正确的?()A)模型具有较高的通用性B)Servlet对象擅长控制
C)分离了视图层和业务层D)M、V、C之间具有较低的耦合性4.阅读下面代码片段:
JavaBeanClass bean=new JavaBeanClass(parameter);
HttpSession session=request.getSession(true);
session.setAttribute("keyword",bean);
该段代码创建的Bean,下列叙述哪项是正确的?()
A)Request 周期的Bean B)Application 周期的Bean
C)Session D)Page周期的Bean
5.阅读下面代码片段:
JavaBeanClass bean=new JavaBeanClass(parameter);
getServletContext().setAttribute("keyword",bean);或者
application.setAttribute("keyword",bean);
该段代码创建的Bean,下列叙述哪项是正确的?()
A)Request 周期的Bean B)Application 周期的Bean
C)Session D)Page周期的Bean
6.阅读下面代码片段:
JavaBeanClass bean=new JavaBeanClass(parameter);
request.setAttribute("keyword",bean);
该段代码创建的Bean,下列叙述哪项是正确的?()
A)Request 周期的Bean B)Application 周期的Bean
C)Session D)Page周期的Bean
7.阅读下面代码片段:
RequestDispatcher dispatcher=request.getRequestDispatcher("a.jsp");
dispatcher.forward(request,response);
关于该段代码的作用,下列叙述哪项是正确的?()
A)页面重定向到a.jsp页面B)将请求转发到a.jsp页面
C)从a.jsp定向到当前页面D)从a.jsp转发到当前页面
二、判断题
1.重定向功能是将用户从当前页面或Servlet定向到另一个JSP页面或Servlet。
()2.转发的功能是将用户对当前JSP页面或Servlet的请求转发给另一个JSP页面或Servlet。
()
2.重定向仅仅是将用户定向到其他的JSP页面或Servlet,而不能将Request对象转发给所指向的资源。
()
3.网站设计的时候经常会处理大量的数据,这些数据必须都放在JSP页面中。
()4.实现转发需要两个步骤,首先在Servlet中要得到RequestDispatcher对象,然后在调用该对象的forward方法实现转发。
()
5.在MVC模式中,因为Servlet负责创建JavaBean,所以JavaBean的构造函数可以带有参数,除了保留get和set规则外,还可以有其他功能的函数。
()
6.在MVC模式的Web开发中,“视图”、“模型”和“控制器”分别对应着“JSP页面”、“JavaBean”和“Serlvet”,以Servlet为核心。
()
三、填空题
1.MVC(Model-View-Controller)是八十年代为编程语言发明的一种软件设计模式。
2.MVC是三层开发结构,这三个字母按顺序分别代表、、_ ____。
3.封装了数据和对数据的操作,是实际进行数据处理计算的地方。
是应用和用户之间的接口,它负责将应用显现给用户和显示模型的状态。
负责视图和模型之间的交互,控制对用户输入的响应、响应方式和流程。
4.控制器主要负责两方面的动作:;。
5.Sun公司的JSP规范提出了两种用JSP技术建立应用程序的方式,分别称为和。
6.在Servlet中,主要使用HttpServletResponse类的重定向方法方法实现重定向,以及使用RequestDispatcher类的转发方法方法实现转发功能。
四、思考题
1.MVC模式的核心思想是什么?
2.谁来担当MVC模式的视图、模型和控制器角色?
3.使用MVC模式有什么好处?
4.MVC模式中的Bean由谁来创建?都有那些生命周期类型?
5.控制器如何控制页面的流转。
6.怎样编写、编译、调试和布置MVC模式中的Servlet和bean?
7.请简要叙述如何设计JSP网站。