日期:2014-05-18  浏览次数:20709 次

一个struts2的问题,达人乱入
struts2里,
假设action里有

private User user;

public User getUser() {
  return user;
}

如果访问action时,输入xxx.action?user=1
就会报错,怎样解决这个问题啊?因为用户并不一定是老老实实通过鼠标点击的方式访问action,
极有可能是按照以上方式输入url的,但只要按照上面的方式访问action,就会报错。
并且这个问题不好避免,因为只要有action,就必定会有某些属性有get,set方法,或者
是只有get方法。怎样避免用户乱输url的时候报错呢?

------解决方案--------------------
类型错误异常你定义一个跳转页面
------解决方案--------------------
在action中try{}catch(){}
出错了转向错误页面 、、谁叫他不好好点链接。。
------解决方案--------------------
访问非法资源的话,加个拦截器就ok
------解决方案--------------------
用户在地址栏中输入参数,这是get传递参数方式,在地址栏输入一个url和在页面点击个url一样

用拦截器防止没有权限的用户(可能是未登录用户)乱操作,是应该的

但是有权限的用户,即使乱输入也没什么大不了!

但是输入错误的话,希望可以用拦截器统一的指定到一个异常的页面
------解决方案--------------------
ding