`
cjp1989
  • 浏览: 162775 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Struts2知识积累(1)_Servlet基础篇

阅读更多
1.简单介绍:Java Servlet Api 将HTTP公开给java平台,核心对象是Servlet、request、response.Servlet是一个单例(singleton)的java对象,他的全部用途在于接收请求,以及在任意的后端处理之后返回响应,中间执行适当的后台逻辑。Servlet规范的版本常用的为2.4,最新版是3.1,在web.xml中引入2.4dtd:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

做web应用开发,一般都是通过一个Servlet提供的统一请求入口,将指定的资源映射到这个Servlet,在这个Servlet中进行框架的初始化配置,访问Web页面的数据,进行逻辑处理后,将结果数据与表现层相融合并展现给用户。WEB框架想要在符合Servlet规范中运行,同样也要符合Servlet规范。
2.一个WEB框架注入到一个Servlet中,主要涉及到Servlet规范中一下部分:部署描述符,映射请求到Servlet,Servlet生存周期,请求分发。2.1部署描述符,就是位于WEB应用的/WEB-INF目录下的web.xml文件,是WEB应用程序不可分割的部分,管理着web应用程序的配置。
<!ELEMENT servlet (icon?, servlet-name, display-name?, description?,
(servlet-class|jsp-file), init-param*, load-on-startup?, run-as?, security-role-ref*)>

2.2映射请求到Servlet,web容器要确定转到哪一个WEB应用程序。通过请求的URL开始匹配,映射到Servlet上下文路径。
http://(协议)+   localhost:8080(主机名+端口)+   /WebApp(Servlet上下文)+   /demo(包命名空间)+      /HelloWorld.action(动作名.action) 

2.3 Servlet生存周期,javax.servlet.Servlet是所有的Servlet必须实现或者间接实现的接口,实际中通常是通过继承javax.servlet.GenericServlet或者java.servlet.http.HttpServlet类来实现这个接口。定义了5个方法分别是:init()_在容器装入Servlet时执行Servlet容器实例化后只调用一次init方法,必须在Servlet接受到任何请求前完成,通常用来进行一些资源的管理和 初始化,getServletConfig()_返回一个传递到init方法的ServletConfig对象,,Service()_应用程序的逻辑进入点,是servlet方法的核心,WEB容器调用这个方法响应进入的请求只有servlet成功被init()后才会被调用,getServletInfo()_返回一个字符串对象提供有关Servlet信息如作者,版本destroy()_容器在移除Servlet执行。
3.Struts2注入到Servlet的配置:web.xml
<filter>
	    <filter-name>struts2</filter-name>
	    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher </filter-class>
	    <init-param>
        	<param-name>actionPackages</param-name>
        	<param-value>com.Struts2</param-value>
        </init-param>

	</filter>
        <filter-mapping>
	    <filter-name>struts2</filter-name>
	    <url-pattern>*.action</url-pattern>
	</filter-mapping>

3.ServletAPI的高级功能,如会话机制,可以关联一个给定客户的请求组。通过一套面向对象的抽象直接封装客户/服务器交互的细节,我们不必自己解析传入的HTTP请求,而是收到一个整洁的、已经在Java中包装好的请求对象。servletapi是个一个底层技术,作为基础设施,Servlet提供可靠的基本功能,在其上构建健壮的web应用程序。对于web应用程序的日常需求,ServletApi没有提供这方面的解决方案。而这些日常任务需要像Struts2这样的web应用程序框架来处理。
4、在servletapi解决了低层客户/服务器问题之后,我们程序员关注应用程序级别的问题。有很多日常任务是所有web应用程序处理请求解决的其中包括:请求参数到java类型的数据绑定,验证数据,访问业务逻辑,访问数据层,呈现表示层(html,jsp等),提供国际化和本地化的支持。
5、引入Struts2框架,struts2是实现mvc设计模式的第二代web应用程序框架。相比struts1引入了新特性:用来从动作逻辑中分层出横切关注点的拦截器,减少和消除xml配置基于注解方式的配置,一个贯彻整个框架的强大的OGNL表达式(object-GraphNavigation language)对象导航语言,ui标签api。mvc的3个关注点:模型,视图,控制器。在struts2中,分别通过动作action,result,FilterDispatch实现。
下一章:Struts2核心概念:动作,拦截器和类型转换
分享到:
评论

相关推荐

    Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)(全)

    Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax) 作者: 李兴华 王月清 共5部分,共17章和2个附录,只有源文件代码,所以资源小。(代码全) 第1部分 Web开发前奏 1~4章 第2部分 Web基础开发 5~8章 第3部分...

    SSH技术之Struts2.1.6实战课件精解_01

    1. **独立性增强**:Struts 2.x 不再依赖于Servlet API,这意味着可以在任何环境中运行,而不局限于Web容器内,这极大地增强了框架的灵活性和可移植性。 2. **拦截器机制**:通过引入拦截器机制,Struts 2.x 提供了...

    struts2学习总结之基础篇

    本篇文章将对Struts2的基础知识进行深入的探讨和总结。 一、Struts2框架概述 Struts2是Apache软件基金会的一个项目,它继承了Struts1的优点并解决了其存在的问题,提供了更强大的功能和更高的灵活性。Struts2的核心...

    Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax) 共5部分,现在上传的是前3部分,共14章,只有代码,所以资源小。 第1部分 Web开发前奏 1~4章 第2部分 Web基础开发 5~8章 第3部分 Web高级开发 9~14章

    Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)

    第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...

    struts2主要jar包

    本篇文章将详细解析Struts2中的主要jar包,这些包是实现Struts2功能的核心组件。 1. **核心库** - `struts2-core.jar`: 这是Struts2框架的核心库,包含了Action、Result、Interceptor等核心组件的实现。Action是...

    strtust1_1_.x入门.

    这篇文档将深入探讨Struts1_1_.x的入门知识,帮助开发者快速理解和掌握这一经典框架。 一、Struts1_1_.x概述 Struts1_1_.x是早期流行的Web应用框架,它通过分离业务逻辑、数据模型和用户界面,提高了代码的组织性...

    Struts2 第一篇:流程篇

    ### Struts2 第一篇:流程...以上配置中,当用户访问`http://localhost:8080/struts2_2_helloworld/hello`时,Struts2将调用`com.example.HelloWorldAction`类的`execute()`方法,并根据返回的结果展示相应的视图页面。

    Struts1基本配置

    本篇将深入讲解Struts1的基本配置,帮助你理解和掌握这个框架的核心概念。 **1. 框架概述** Struts1是由Apache软件基金会开发的开源框架,它的主要目的是为了简化Java Servlet和JSP(JavaServer Pages)的开发,...

    struts2简介

    本篇文章将深入探讨Struts2的基础知识、工作原理以及其在实际开发中的应用。 首先,让我们了解Struts2的核心概念。Struts2框架主要由以下几个组件构成: 1. **Action类**:Action类是业务逻辑的载体,处理用户请求...

    Struts1框架执行原理(附Action、ActionServlet、ActionForm工作机制)

    通过了解这些基础知识,我们可以更好地理解Struts1的架构,为学习更高级的框架如Struts2打下坚实的基础。Struts1虽然现在已被更新的技术如Spring MVC所取代,但其设计理念和工作原理仍然是现代Web开发中的宝贵知识。

    itcast struts2 ppt

    本篇内容主要介绍了Struts2的基础知识,包括所需的依赖JAR包、启动配置以及配置文件。 首先,开发Struts2应用需要依赖一系列JAR包。这些核心库包括: 1. `struts2-core-2.x.x.jar`:这是Struts2框架的核心库,包含...

    达内培训机密资料_struts2_day02(3)

    希望本篇介绍能帮助大家更好地理解和掌握Struts2的相关知识。 此外,根据文件中的课后作业提示,可以看出这部分资料还涉及到了不同级别的学习目标设定,这有助于学员们更有效地进行自我评估和学习进度规划。例如,...

    Struts2 基础(五)

    在本篇博客中,我们将深入探讨Struts2的基础知识,包括其核心概念、配置、以及如何使用Struts2创建一个简单的Web应用。 **一、Struts2 概述** Struts2 是 Struts1 的升级版,它解决了 Struts1 中的一些局限性,提供...

    struts1jar包

    在本篇文章中,我们将深入探讨Struts1的核心组件、工作原理、优势以及如何使用Struts1的核心jar包。 **1. Struts1框架简介** Struts1是2000年代初发布的,旨在解决Java Web应用程序开发中的复杂性和冗余代码问题。...

    一个用struts2写的注册登录的页面

    通过实践这个项目,开发者可以深入理解Struts2框架的工作原理,提升WEB应用开发技能,并为更复杂的系统设计打下基础。在实际开发中,还需要考虑用户体验、性能优化、代码可维护性和扩展性等因素。

    struts2day02

    本篇将深入探讨Struts2的基础开发知识,以帮助你更好地理解和应用这个强大的框架。 一、Struts2框架基础 1. **MVC模式**:MVC模式是软件工程中的一种设计模式,将业务逻辑(Model)、用户界面(View)和控制逻辑...

    Struts 2+Spring 3+Hibernate框架技术精讲与整合案例_pdf源码前半部分

    `第2篇 Java Web基础篇`可能涵盖了Servlet、JSP、JavaBean等基础概念,这些是理解SSH框架的基础。学习者会了解到如何使用这些技术进行简单的动态网页开发,为后续的框架学习打下坚实的基础。 `第3篇 Struts2框架篇`...

    Struts_Spring_Hibernate面试题总结

    这篇面试题总结主要涉及Servlet的基础知识,包括其生命周期、工作原理以及与Struts、Spring、Hibernate的关系。 1. Servlet生命周期: - 初始化阶段:Servlet容器在接收到web应用部署描述符(web.xml)中的`...

Global site tag (gtag.js) - Google Analytics