Struts是一套完整且成熟的Service成框架,相比学习了javaweb基础的人都会有一个想法,j2ee需要学习的东西实在是太多了,其实当你学深入之后就会发现,其实每一层都已经有了许多成熟的框架,我们需要做的就是在需要的时候熟练掌握他们,这些框架是专门为开发者所写的,所以在易用性方面比那些基础的java知识更好理解,我们要做的就是熟记那些规则,毕竟用的是别人的框架,得遵守别人的游戏规则,但是在你系统的学习了hibernate和Struts框架,进而再去学习spring框架时,你自然就会得心应手!!学习贵在坚持!!一旦选择了一条路时,只要路对,就不怕路远!!好了言归正传!这是我初步学习的心得收好!!
Struts设置默认上传文件大小
<constant name="struts.multipart.maxSize"value="1000000000"/>
Struts设置默认应用的的后缀
<constant name="struts.action.extension" value="do,action"/>
Struts设置默认拦截方法,在主文件中的配置方法
顺序不能乱
<interceptors>
<interceptor name="自定义拦截器名" class="类的全全限定名"/>注册自定义拦截器
<interceptor-stack name="自定义拦截器栈名">
<interceptor-ref name="defaultStack"/>//系统拦截器栈
<interceptor-ref name="自定义拦截器名" />
将自定义的拦截器和系统拦截器栈加入到新栈
</interceptor-stack>
<default-interceptor-ref name="自定义拦截器栈名"></default-interceptor-ref>//为一个包里面的的所有action定义默认拦截器栈
然后在action中设置自己的拦截器栈,就可以是用自己定义的拦截器了,不要直接在action中直接使用自己的拦截器这样会失去系统的拦截器
<action name="list_*" class="类全全限定名" method="{1}">
<interceptor-ref name="permissionStack" />
</action>
自定义拦截器样例
public class PermissionInterceptor implements Interceptor {//继承接口,实现方法
public void destroy() {
}
public void init() {
}
public String intercept(ActionInvocation invocation) throws Exception {
//添加拦截实现方法
Object user = ActionContext.getContext().getSession().get("user");
if(user!=null) return invocation.invoke(); //如果user不为null,代表用户已经登录,允许执行action中的方法
ActionContext.getContext().put("message", "你没有权限执行该操作");
return "success";
}
}