Java 企业级应用开发(J2EE)是Java平台上的一个重要组成部分,主要针对构建大型分布式应用程序。本试题涉及的知识点广泛,涵盖了Servlet、Struts框架、MVC设计模式以及Web应用配置等多个方面。
1. **Servlet组件**:Servlet是Java EE中处理HTTP请求的核心组件,按照请求-响应模式工作,常驻于Servlet容器(如Tomcat)中,可被动态加载。在Struts框架中,Servlet可以作为控制器组件,负责接收请求并调度业务逻辑。
2. **范围共享数据**:在Struts应用中,数据可以在request、session和application范围内共享。request范围的数据仅在当前请求有效,session范围的数据在整个会话期间有效,而application范围的数据在整个应用生命周期内有效。
3. **MVC模式**:MVC(Model-View-Controller)是软件设计的一种模式,用于分离业务逻辑、数据模型和用户界面。模型(Model)负责业务逻辑,视图(View)显示数据,控制器(Controller)处理用户请求并协调模型和视图。
4. **Struts框架**:Struts是一个基于MVC设计模式的Java Web框架。它在JSP Model2基础上发展而来,其中模型由JavaBean和EJB组成,视图通常由JSP文件实现,控制器通过Action组件来协调整个流程。
5. **Web.xml配置**:在web.xml中配置欢迎文件清单,可以使用<welcome-file-list>元素,并且可以配置多个欢迎文件,Web容器会按顺序查找。
6. **数据源配置**:在Web应用中配置数据源通常使用<Context>或<dataSource>元素,而不是<formbean>、<data-sources>、<global-forward>或<message-resources>元素。
7. **Action-Mappings配置**:<action-mappings>元素用于配置Action的行为,包括className(Action类名)、forward(转发的URL路径)、input(表单验证失败后的转发URL)等属性。
8. **Struts控制器组件**:Struts的控制器组件主要包括RequestProcessor、Action和ActionServlet,不包括JSP组件,因为JSP通常用于视图层。
9. **ActionServlet的功能**:ActionServlet在Struts中主要负责解析URI到Action类的映射,实例化Action类,处理请求数据,调用Action的execute()方法执行业务逻辑。
10. **扩展Action类**:扩展Action类需要创建其子类,实现execute()方法并编写业务逻辑,最后将编译后的类放在应用的classpath目录下。
11. **ActionForm的生命周期**:ActionForm的生命周期包括从request或session中获取实例,如果没有则创建新实例,接着填充表单数据,执行业务逻辑,最后可能将更新后的实例放回request或session。
这些知识点都是Java Web开发者必备的基础,掌握它们对于理解和开发基于J2EE的应用至关重要。通过解决此类试题,可以提升对Servlet、Struts以及MVC模式的理解,有助于在实际项目中更好地应用这些技术。