`
cjp1989
  • 浏览: 161072 次
  • 性别: 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部分...

    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篇为...

    《Java Web开发教程——入门与提高篇(JSP+Servlet)》附赠电子资料——框架基础及实例

    本文档是《Java Web开发教程——入门与提高篇(JSP+Servlet)》一书的附赠电子资料,对Struts2、JSF、Hibernate、iBATIS和JPA等框架进行了简单介绍,并且给出了两个自定义简单框架,还包括3个实例,共149页。

    Java Web开发实战经典%2B基础篇.part1

    第2部分 Web基础开发 第5章 JSP基础语法 第6章 JSP内置对象 第7章 JavaBean 第8章 文件上传 第3部分 Web高级开发 第9章 Servlet程序开发 第10章 表达式语言 第11章 Tomcat数据源 第12章 JSP标签编程 第13章...

    Java Web开发实战经典%2B基础篇.part2

    第2部分 Web基础开发 第5章 JSP基础语法 第6章 JSP内置对象 第7章 JavaBean 第8章 文件上传 第3部分 Web高级开发 第9章 Servlet程序开发 第10章 表达式语言 第11章 Tomcat数据源 第12章 JSP标签编程 第13章...

    Java.Web整合开发王者归来.part04.rar

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

    Java.Web整合开发王者归来.part02.rar

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

    Java.Web整合开发王者归来.part05.rar

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

    Java.Web整合开发王者归来.part03.rar

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

    开发者突击·Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)源码

    基于Struts2的SSH2整合架构,并在此架构基础上实现一个完整的办公自动化系统。在《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit...

    Java.Web整合开发王者归来.part01

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

    Java.Web整合开发王者归来.part14.rar

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

    Java.Web整合开发王者归来.part08.rar

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

    Java.Web整合开发王者归来.part09.rar

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

    Java.Web整合开发王者归来.part06.rar

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

    Java.Web整合开发王者归来.part13.rar

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

    Java.Web整合开发王者归来.part07.rar

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

    Java.Web整合开发王者归来.part11.rar

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

    Java.Web整合开发王者归来.part12.rar

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

Global site tag (gtag.js) - Google Analytics