代理概念 为某个对象提供一个代理,以控制对这个对象的访问。代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。 从图中可以看出,代理接口(Subject)、代理类(ProxySubject)、委托类(RealSubject)形成一个“品”字结构。根据代理类的生成时...
Java静态代理与动态代理
Struts2中通配的使用
在struts.xml文件(配置PersonAction的配置文件)中修改成如下: 第一个*的意思是调用的类,第二个*的意思是所用的类中的方法,花括号内的数字就是所用的第几个*。 例如请求地址:http://localhost:8080/Struts2MVCDemo/Person_liming?name=liming,代表调用PersonAction类中的lingming()方法。
MVC
MVC的优点 多个视图可以共享一个模型,提高代码重用性。 三个模块相互独立,改变其中一个不会影响其他两个,降低了模块之间的耦合度,提高了模块的可拓展性。 控制器提高了程序的灵活性和可配置性,把不同的模型和不同的视图结合到一起。 在使用MVC进行Web项目开发时,系统分工很明确。 系统分工 美工、网页设计人员 — view Java开发人员 — contro...
关于Struts2
Struts2实现的MVC模式 核心控制器:Filter拦截器。将Servlet解耦,可以用单元测试来对Action控制层进行测试。 Struts2执行流程 定义FilterDispatcher,一般出现的过滤器最后。 FilterDispatcher将请求转发给ActionMapper,ActionMapper负责识别当前请求是否需要Struts2做出处理,如果需要处理的话...
StrutsMVCDemo6 - Struts2中的重定向(2.2.3)
PersonAction.java public String execute() { return "p1_p2"; } struts.xml <!-- 公共配置包 --> <package name="default" namespace="" extends="struts-default"> <interceptors> ...
StrutsMVCDemo5 - Struts2拦截器的使用(2.2.3)
目录结构 LogInterceptor.java package com.bbs.interceptor; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; // 日志拦截器 public class LogIntercept...
StrutsMVCDemo4 - Struts2传递对象的方式(2.2.3)
目录结构 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schem...
StrutsMVCDemo3 - Struts2后台验证(2.2.3)
Struts2提供的后台效验流程 拦截器调用指定的方法validate()方法; 判断保存错误的Map集合是否为空,为null,才执行action的execute()方法; 如果不为null, 说明验证有错误,不放行。 数据效验原理 public synchronized void addFieldError(String fieldName, String errorMe...
StrutsMVCDemo2 - 获取Struts2值栈中的值(2.2.3)
目录结构 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schem...
StrutsMVCDemo - Struts2配置步骤(2.2.3)
步骤 导入jar包,核心包struts2-core.xxx.jar、xwork-core.xxx.jar。 在Web项目上,支持Struts2特性:在web.xml中定义一个filter。这个filter就是FilterDispatcher类的具体实现类:StrutsPrepareAndExecuteFilter <filter> <...