SSH框架学习笔记(一个简单介绍,无代码)

1. Struts简介

1.1 Struts是一个技术框架,现在成为Web应用MVC模式中VC部分事实上的标准。

1.2 Web技术历史

1.2.1 CGI(common gateway interface),CGI访问速度慢,其主要原因是应用程序所编写的CGI没有考虑多线程。

1.2.2 Servlet最为一种跨平台语言的服务器端技术产生,采用Servlet开发的应用,不用考虑平台,多线程等问题。但是,在Servlet中嵌入html成为了开发人员的噩梦,在开发效率上还是不及同时期微软的ASP。

1.2.3 Java Server Pages,JSP从很大程度上参考了ASP的想法,使得采用Java语言开发服务器端应用非常容易。慢慢的JSP逐渐在Web服务器端应用开发中占据了主流位置。

1.3 Struts安装

1.4 Struts框架

Web开发的两种模式:JSP Model1,用户通过浏览器之间访问Web应用的JSP页面,JSP提供UI显示,JavaBean处理数据库访问和业务逻辑。这种开发方式最大的优势是直接、简单,对于小型应用,可以很方便、快速地进行开发。JSP Model2和JSP Model1最大的区别是引入了MVC模式的概念,即MVC分离,用户的所有请求提交给C(Controller),由Controller进行统一分配,并采用推的方式将不同的UI显示给用户。

1.5 在Struts框架下应用程序请求流通过的路径,处理过程由5个基本的步骤组成:① 由显示视图产生一个请求; ② 请求被ActionServlet(控制器)接收,它在struts-config.xml文件中寻找请求的URL,找到对应的Action类后,Action类执行相应的业务逻辑; ③ Action类执行建立在模型组件基础上的业务逻辑,模型组件是和应用程序关联的; ④ 一旦Action类处理完业务逻辑,它把控制权返回给ActionServlet,Action类提供一个键值作为返回的一部分,它指明了处理的结果ActionServlet使用这个键值来决定在什么视图中显示Action的类处理结果; ⑤ 当ActionServlet把Action类的处理结果传送到指定的视图中,请求过程就完成了。

1.6 控制权(The Controller)是Struts框架中的中枢,它由org.apache.struts.action.ActionServlet这个servlet来贯彻和执行的。ActionServlet类似于一个创建Action对象的工厂,由Action对象去执行应用中实现的业务逻辑。

1.7 Web应用(WebApplication)(P6)

1.8 Web应用的部署描述

1.9 打包Web应用

1.10 Tomcat容器

2 Servlet和JSP结构

2.1 Java Servlet结构:Java Servlet是平台独立的WEB应用组件,Servlets和客户端协作是通过request/response来处理的。

2.2 Servlet结构有两个包组成:javax.servlet和javax.servlet.http。

2.3 Javax.servlet包含了被用来实现和扩展的通用接口和类。

2.4 Javax.servlet.http是被用于特定的HTTP协议的。

2.5 Servlet接口被定义了五个方法。其中比较重要的有三个:① init()方法,用于初始化一个Servlet;② service方法,用于接收和响应客户端的请求;③ destroy()方法,执行清除占用资源的工作。这些是servlet生命周期方法。

2.6 doGet()和doPost()方法:所有的业务逻辑都在这两个方法中执行。两个方法的传入参数是HttpServletRequest和HttpServletResponse对象。HttpServletRequest对象包含的是来自客户端的信息,HttpServletResponse包含的是返回客户端的信息。在doPost()方法中第一步是设置放回的内容类型:response.setContentType(“text/html”);下一步获取PrintWriter对象,这是通过ServletResponse对象的getWriter()方法得到的。PrintWriter对象可以让我们写入输出流后发送到客户端显示:PrintWriter out=response.getWriter();一旦获取了PrintWriter对象后,就往客户端输出信息,信息包含HTML标记。

2.7 创建和部署Servlet:我们需要创建一个WEB应用来存放Servlet,并且编译和部署Servlet到WEB应用中去。

2.8 ServletContext是定义在javax.servlet包中的对象。它定义了用于WEB应用中的服务器端组件关联servlet容器的方法集合。

2.9 Web应用和ServletContext的关系:ServletContext在WEB应用中充当容器的角色。在WEB应用中只有一个ServletContext实例,Java Servlet规范制定ServletContext作为所有servlet的容器。

2.10 JavaServer Pages能产生强大的动态HTML页面。

2.11 隐含对象(Implicit Objects):如果使用了这些对象,它们会被JSP引擎分析出,并在生产servlet时插入到对应的位置。

2.12 Out隐含对象来源于java.io.Writer类,它用于发送输出流到客户端(如:out.print()方法)。

3 Struts学习1

因为Struts技术来源于MVC设计模式,所以在所有基于Struts的开发中,可以遵循这种标准来处理。处理方式:从视图开始,控制器对象操纵模型组件来为视图服务。这个处理过程通过以下步骤实现:① 定义并创建实现某一功能的相关视图,它们是应用中的用户接口。在struts-config.xml这个struts配置文件中所有的ActionForm就是我们要创建的视图;② 创建控制器组件;③ 在struts-config.xml文件中定义视图,控制器之间的关系;④ 在web.xml文件中配置启动struts的一些必要信息;⑤ 启动应用。

4 Struts学习2

4.1 ActionForm用来保存视图中表单输入参数的实际数值。

4.2 Quote视图

4.3 创建控制组件,在Struts应用中,控制器由两个组件组成。 这两个组件是:org.apache.struts.action.ActionServlet和org.apache.struts.action.Action类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值