用struts写一个web程序,由于每次请求时都是动态的如:http://localhost:8088/pqr/xxx.do?method=xxx
如果别人随便写个请求如:http://localhost:8088/pqr/xxx.do?method=methodxxx,发这样的请求肯定会报服务异常,这个怎么制止呢?

解决方案 »

  1.   

    统一异常处理,定向到出错页面就行了。
    你可以写公共的action或在web.xml中配置来实现
      

  2.   

    你在action里判断下method是否是可用值,错误就定向到出错页
      

  3.   

    这样处理是比较好的,要不就是把所有页面放到web-INF下
      

  4.   

    防止浏览器直接敲入,可以判断请求来源,在过滤器中实现;
    利用权限控制,随便写的action和method肯定不在某用户(角色)的权限列表中。
      

  5.   

    我明白LZ的意思了,LZ不是要做权限的处理;权限的等的处理 是系统中有的功能!例如系统中存在manager.do,但是不存在test.do的请求; 此时需要对manager.do进行权限处理;而test.do,test1.do,test2.do.....等你是处理不到的,方案:处理异常定义错误消息 如505.jsp;404.jsp
     
    封装友好界面;如当用户随便输入一个 http://localhost:8088/pqr/xxx.do 温馨提示:请不要非法操作!
    温馨提示:您发送的请求不存在,请联系管理员温馨提示:请不要非法操作!