如何理解 Servlet
Servlet = Server + Applet(Applet,小程序)
Servlet 是运行在 Web 服务器或应用服务器上的 Java "小"程序。
使用 Servlet,可以收集来自网页表单的用户输入并处理,呈现来自数据库或者其他源的记录,即与用户交互。
Servlet 可以动态地生成网页
广义的 Servlet 指任何实现了 Servlet 接口的 Java 程序。
Servlet 是学习 JSP 的基础。
网上的一些javaEE核心技术及概念
Java EE应用程序模型——这个模型描述了一个实现服务的多层架构。“什么是服务”没有明确的界限。事实上,服务只是一个逻辑上的概念,它的对应实体取决于应用实现的概念。例如,客户端/服务器模型就是一种服务。
Java EE 服务——这是一个J2EE中三层架构的应用服务范例。它是由网页层(服务JSP页面)和事务层(管理企业的数据层)组成的。
Java EE 组件——“组件”是指独立的软件单元,可以和其他的组件组合来建立一个应用。
Web组件(Web Component)——web端生成的页面或者对用户请求的返回。代表性的有: Java Servlets, JavaServer Faces 和 Java Server Pages.
小程序(Applet)——一个小型的Java应用程序可以作为响应的一部分返回给用户,用户可以在他们的浏览器上运行此程序。这种小型的程序是Javascript的竞争对手。
客户端程序(Application Client)——例如,一个用Java写的桌面应用程序。
EJB(Enterprise Java Beans)——见下文。
Java EE 客户端——这个概念中包含三个其他的概念:
网页客户端(Web Client)(或小型客户端,thin client)——以前(也不是非常久以前),客户端的请求返回的网页会包含脚本代码,这些代码会在应用服务器上执行了再将运行结果返回给客户端。这就是EE客户端。比如,用户可以查询员工的信息,并且对不同的结果按照他们喜欢的方式排列。现在,大多数开发者都不是在网页中使用脚本了,因为这不是个好习惯。他们更喜欢使用MVC设计原则,即禁止在网页中使用脚本。
小程序(Applet)
应用客户端(Application Client)
Java EE 服务器通信(Java EE Server Communication)——这是指发生在小型客户端和应用客户端之间在服务器上的通信。具有代表性的是,小型客户端和小程序在Web层通信,但是应用客户端在EJB通信。 你觉得这不够清晰是吗?你觉得这很麻烦是吗?这就对了!这就是REST以及MVC设计原理现在在开发中流行的缘故。
EJB (企业级Java Beans,Enterprise Java Beans)——这是一个逻辑概念,与传统的Java Beans无关。它主要试图从多重应用的后端(也就是服务器端)来压缩事务逻辑。其中一个它试图解决的问题是确保数据库中事务处理的完整性。警告:EJB有多个版本,并且3.0版本已经从早期的版本分离出来。
JavaBean Component——Java Bean 的同义词,主要用在JSP范例中。
Java EE容器(Java EE Container)——这是部署组装Java EE组件的地方(也就是应用程序服务器)。它定义了Web容器(包含servlets和JSP),还定义了EJB容器(包含的企业级Java Bean)以及应用客户端容器(运行独立的应用程序)和在浏览器上运行的小程序容器。
部署描述符(Deployment Descriptor )——这是一个为打包好的应用提供部署信息的XML文件,点击查看更多信息。
SOAP(简单对象访问协议,Simple Object Access Protocol)——这是一个通过网络提供的服务传输信息的协议。信息是通过XML构建的,能够通过多个传输交换层,多数情况下是HTTP。SOAP是JSON和REST-like服务的竞争对手。
WSLD(网络服务描述语言,Web Service Description Language)——它用XML文件来描述了网络服务(名字,地点,通信模式)。
UDDI(通用描述、发现与集成服务,Universal Description, Discovery and Integration)——一种ebXML规范,可以在线发布有关产品和服务的信息。
Java Servlet——是用Java写的一个服务器端小程序,可以处理用户的HTTP请求,返回结果。
JSP (JavaServer Page)——一种基于HTML文件(就是一个模板)处理之后能够生成静态内容。可以包含脚本代码的片段,以在最终生成的脚本静态文件中生成。
JSTL (JSP标准标签库,JavaServer Page Standard Tag Library)——一组可以模仿脚本代码功能的用在JSP的标准标签。例如,遍历客户端并显示他们对应的信息。现在,在JSP中,这样的标签已经已经取代了脚本代码。一般用于生成需要填充信息的页面。
JSF (Java Server Face)——包含JSF标签(类似于LSTL标签)的JSP页面。此外,JSF允许在页面中定义导航模块(类似于Spring web flow),包括Facelets。
Facelets——Facelets是JSF的MVC视图部分。它的主要功能是利用提供的数据(例如客户端列表)将模板转换成HTML文件。它也可以将生成的文件(例如HTML主体)提取出来一部分并到另一个模板中,相当于Sitemesh。
The Java API for XML-based Web Services (Java中用来创建基于XML的Web的API,JAX-WS)——对于使用XML通信的Web服务来说至关重要。
The Java API for XML Binding (序列化为XML的API,JAXB)——一种可以在JavaBeans和XML文件之间相互转化的方式点击查看更多信息。
JTA (Java事务处理API,Java Transaction API) ——划清数据库中上行和下行的通信界限。
JMS(Java信息服务,Java Message Service)——这个API保证服务器和应用在网络上的通信可靠、异步。ActiveMQ实现了JMS。
JavaMail API——提供通过应用程序发送邮件方式。
JAXP(加工XML文件的API,Java API for XML Processing)——提供了处理XML文件的方式。
JAXR(提供XML注册的API,Java API for XML Registries)——一个可以注册包含了元数据的XML的API。
JDBC(Java数据库连接,Java Database Connectivity)——这个API可以使应用程序直接通过SQL通信来访问数据库。
JCA(J2EE连接器架构,Java EE Connector Architecture)——使应用程序能和信息系统(通常是数据库)通信。点击查看更多
JPA(Java持久化API,Java Persistence API)——这是一个在数据库中存储对象的ORM(对象关系表,Object/relational mapping)定义。点击查看范例
JNDI(Java命名和目录接口)——一种能存储和检索资源或者通过名字查找信息的方式,点击查看更多
JAAS(Java鉴别与授权服务,Java Authentication and Authorization Service)——识别并控制服务权限的一张方式。
在J2EE6中,大量的配置可以在源代码中执行。
JAX-RS——定义REST(含状态传输)之类的服务的API。
Managed Beans——一个可以执行嵌入代码的Java对象。在Sping框架中,这是一些添加了@Autowired注释的对象。
CDI(上下文和依赖注入,Contexts and Dependency Injection for Java EE)——CDI是Java EE整个下一代类型安全的依赖注入的事实上的API。在Sping框架中,应用程序可以设计应用的上下文,控制反转(IoC)和依赖注入功能(DI)。
Bean确认——通过设定好的规则判断Java Beans的状态是有效的。
JACC(Java Authorization Contract for Containers)——在J2EE应用服务器和特定的授权认证服务器之间定义的一个连接的协约。
JASPIC(Java认证服务提供者接口,Java Authentication Service Provider Interface)——这是与JACC互补认证的SPI(也就是服务API,Service API)。它定义了应用程序如何通过传统的认证服务。
总体上说,J2EE和Spring框架慢慢的朝着一个相同的方向发展。