欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

J2EE-19 struts框架 spring框架

程序员文章站 2022-04-17 08:15:17
...

struts

前端控制类
ActionServlet
开发Struts框架 
所有的后端控制器类都必须继承Action类

struts的配置文件


struts1 里面 配置文件的名字 没有约束
通常情况下都是 struts-config.xml
主要声明 Action
声明部署 Action
主要写 action-mapping


ActionForm


一切FromBean都要继承这个类


FromBean


不仅封装输入数据,还有输出的数据
类内的函数基本是数据的读写函数 get set 
增加了 reset validate两个函数
reset 重置
validate 验证

FromBean的复用

不能被复用的原因是类中出现了具体的业务相关的函数
Eg:
student类里面的getName setName 等没有办法复用


class DynaActionForm extends Action{
	Object get(String name);
	set(String name,Object value);
} 

用get set的参数用来作为之前类里的变量名字
将所有的键值对都放在map集合里面

上天:抽象 都抽象为Object  get函数的返回值是Object
入地:向下强制类型转换

DispatchAction

在这里插入代码片

LookupDispatchAction


在地址栏不用出现函数名 在该类里面有一个HashMap
相当于给后端控制器的函数起了一个别名

MappingDispatchAction

根据不同的url来执行不同的后端控制器函数
客户端发送请求之后,函数的名字不变
配置文件里面做好映射


spring框架

优点:
相比于struct 可以不写配置文件
java
在eclipse里面支持注解 
可以用来注解 类 函数

注解:

@Override 表明该函数是一个覆盖函数 在编译的时候起作用

 //属性名不写默认是value,只有value属性的属性可以不写属性名
 //其他的属性都要一定要写属性名和属性值
 //在 WebServlet 中value默认是urlPattern 即 @WebServlet(={"/a","/b"})与下面的等价
 //
Eg:
import javax.servlet.annotation.*;

@WebServlet(urlPattern={"/a","/b"},displayName="abc",initParams={@WebInitPara("a","8'),@WebInitPara("b","7')})
public class HelloServlet extends HttpServlet{


}

spring的使用过程

先导入spring

将所有的请求都交给spring 包括静态的资源

@controller
public class MyController{
	@RequestMapping("/guess")
	public String guess(HttpSession session){
		//这个函数的参数是取决于程序中要用的数据,参数的数量与顺序没有要求,spring可以自己从Request
		session.getAttribute("numguess");
		//找到模型 调用模型的方法
	}

}

上机作业

用spring struct1 struct2 任选其一 
实现猜数游戏

考点

HttpServletRequest
HttpServletResponse
两个类的API函数
EL 中的几个隐含变量的数据类型
JSP 中的几个隐含变量的数据类型
Cookie
HttpServlet
HttpServletRequest
HttpServletResponse
HttpSession

相关标签: struts