Struts2学习笔记三(异常处理、模型驱动和属性驱动、servlet接口、Preparable接口)

转载 2016年08月30日 11:07:28

1、自定义异常:

       public class UsernameException extends Exception

	public String execute() throws Exception {
		
		if(!"123".equals(username))
		{
			throw new UsernameException("username invalid");
		}
		if(!"123".equals(password))
		{
			throw new PasswordException("password invalid");
		}
		
		return SUCCESS;
	}

2、接受异常,然后跳转。

		<action name="login" class="com.yanlei.struts2.LoginAction">
			<result name="success">/result.jsp</result>
<span style="color:#ff0000;">			<exception-mapping result="</span><span style="color:#00cccc;">usernameInvild</span><span style="color:#ff0000;">" exception="com.yanlei.exception.UsernameException"></exception-mapping>
			<exception-mapping result="passwordInvild" exception="com.yanlei.exception.PasswordException"></exception-mapping>
			<result name="</span><span style="color:#00cccc;">usernameInvild</span><span style="color:#ff0000;">">/usernameInvild.jsp</result>
			<result name="passwordInvild">/passwordInvild.jsp</result></span>
		</action>
3、也可定义在全局内,可以被所有action共用。

	<global-results>
			<result name="usernameInvalid">/usernameInvalid.jsp</result>
			<result name="passwordInvalid">/passwordInvalid.jsp</result>
	</global-results>
		
	<global-exception-mappings>
		<exception-mapping result="usernameInvalid" exception="com.shengsiyuan.exception.UsernameException"></exception-mapping>
		<exception-mapping result="passwordInvalid" exception="com.shengsiyuan.exception.PasswordException"></exception-mapping>
	</global-exception-mappings>
  但局部总是优先于全局的。


4、模型驱动如写个User类,实现modelDriven<Uset>,重写public User getMedel(){return user;}

      但一般都使用属性驱动的模式。直接写属性,不用写类。。

5、Servlet两种方式

HttpServletRequest request=ServletActionContext.getRequest();
HttpSession session=request.getSession();
session.setAttribute("hello", "struts");


ActionContext actionContext=ActionContext.getContext();
Map<String, Object> map=actionContext.getSession();
Object o=map.get("hello");

6、在传值之前做准备,action实现Preparable接口。

相关文章推荐

Struts2学习笔记(14)-----使用ModelDriven接口直接访问对象属性

上篇我们说了如果在jsp页面访问某个对象的某个属性时,我们是采取“对象.属性”的语法进行的,可是如果要使用很多的属性,我们也这样来来回回的一个一个的写,是不是很麻烦?这节就是解决这个小问题的。 ...

Struts2.x学习笔记之 异常处理

上面的execute()方法可以抛出全部异常,这意味着重写该方法时,完全无须进行任何异常处理,而是把异常直接抛给Struts框架处理;Struts2框架接受到Action抛出的的异常之后,将根据str...

Struts2 的 Preparable, ModelDriven 接口方法里无法获得参数,理解 拦截器与责任链

动作类实现了 Preparable,ModelDriven 这两个接口,

Struts2 Preparable接口

Preparable接口中有一个void prepare() throws Exception方法,实现该接口的Action类,将在执行这个action所以方法之前执行prepare(),称为acti...

Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法

Struts2中action接收参数的三种方法及ModelDriven和Preparable接口结合JAVA反射机制的灵活用法 Struts2中Action接收参数的方法主要有以下三种: ...

struts2实现Preparable接口

Preparable接口中有一个void prepare() throws Exception方法,实现该接口的Action类,将在执行这个action所以方法之前执行prepare(),称为acti...

Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法

Struts2中action接收参数的三种方法及ModelDriven和Preparable接口结合JAVA反射机制的灵活用法  Struts2中Action接收参数的方法主要有以下三种:  ...

Struts2表单验证、模型驱动、防重复提交、数据回显笔记整理

刚学完一些零散的struts内置功能,做点笔记,就当回顾一遍,也便以后使用。 -------------------------------------------------------------...

struts2的属性模型和驱动模型

一、属性驱动 jsp中的页面每一个form中的name和action中的属性与之对应。 Username: Password: action中的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)