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) 作者: 李兴华 王月清 共5部分,共17章和2个附录,只有源文件代码,所以资源小。(代码全) 第1部分 Web开发前奏 1~4章 第2部分 Web基础开发 5~8章 第3部分...
Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax) 共5部分,现在上传的是前3部分,共14章,只有代码,所以资源小。 第1部分 Web开发前奏 1~4章 第2部分 Web基础开发 5~8章 第3部分 Web高级开发 9~14章
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
本文档是《Java Web开发教程——入门与提高篇(JSP+Servlet)》一书的附赠电子资料,对Struts2、JSF、Hibernate、iBATIS和JPA等框架进行了简单介绍,并且给出了两个自定义简单框架,还包括3个实例,共149页。
第2部分 Web基础开发 第5章 JSP基础语法 第6章 JSP内置对象 第7章 JavaBean 第8章 文件上传 第3部分 Web高级开发 第9章 Servlet程序开发 第10章 表达式语言 第11章 Tomcat数据源 第12章 JSP标签编程 第13章...
第2部分 Web基础开发 第5章 JSP基础语法 第6章 JSP内置对象 第7章 JavaBean 第8章 文件上传 第3部分 Web高级开发 第9章 Servlet程序开发 第10章 表达式语言 第11章 Tomcat数据源 第12章 JSP标签编程 第13章...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
基于Struts2的SSH2整合架构,并在此架构基础上实现一个完整的办公自动化系统。在《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》架构讲解的过程中,穿插介绍了JDBC、Log4j、Sitemesh、JUnit...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...
第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、数据库概述、JDBC详解、XML概述等;第4篇为...