grails 1.2之后参与web.xml:
def doWithWebDescriptor = { webXml ->
def mappingElement = webXml.'servlet-mapping'
def lastMapping = mappingElement[mappingElement.size()-1]
lastMapping + {
'servlet-mapping' {
'servlet-name'("grails")
'url-pattern'("*.dispatch")
}
}
}
所有的.dispatch结尾的请求会有GrailsDispatcherServlet来处理
拦截路径:/grails/controller/action.dispatch
<!-- Grails dispatcher servlet -->
<servlet>
<servlet-name>grails</servlet-name>
<servlet-class>org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- The Groovy Server Pages servlet -->
<servlet>
<servlet-name>gsp</servlet-name>
<servlet-class>org.codehaus.groovy.grails.web.pages.GroovyPagesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>gsp</servlet-name>
<url-pattern>*.gsp</url-pattern>
</servlet-mapping>
[color=brown]GroovyPagesServlet用来拦截gsp文件
路径顺序:grails-app/views/controller/action.gsp [/color]
分享到:
相关推荐
1. **自动化配置和约定优于配置**:Grails 提供了许多默认配置,例如数据库连接、URL映射等,开发者只需按照约定编写代码即可,减少了配置工作。 2. **GORM(Grails Object Relational Mapping)**: GORM 是Grails...
- 支持控制器拦截器,用于实现通用的逻辑,如权限检查。 - 支持数据绑定,自动将HTTP请求参数映射到控制器操作的参数上。 - 支持XML和JSON响应,便于构建RESTful服务。 - 支持JSONBuilder,提供了一种简洁的方式来...
在实际使用Grails Acegi 0.5.2时,开发者可以利用其提供的安全拦截器、过滤器和标签库来实现用户登录、权限检查、会话管理等功能。例如,通过配置`@Secured`注解,可以控制哪些方法或控制器仅允许特定角色的用户访问...
7.9.3 使用拦截器实现验证 7.10 处理文件上传 7.10.1 使用multipart请求 7.10.2 上传和数据绑定 7.11 本章小结 第8章 groovycservercpages 8.1 基础知识 8.1.1 理解模型 ...
- **外部配置**:除了内置的配置选项外,Grails还支持从外部文件加载配置信息,方便了应用的维护和扩展。 #### 四、测试 **4.1 单元测试** - **单元测试**:单元测试是软件开发中的一个重要环节,旨在验证单个...
2. 自定义安全逻辑:通过扩展Shiro的拦截器和过滤器,开发者可以实现自定义的安全逻辑。 3. 集成其他认证系统:可以与LDAP、AD等外部认证系统集成,实现单点登录(SSO)。 4. 安全日志:记录用户操作和登录日志,...
3. 安全拦截:利用AOP(面向切面编程)技术,可以拦截特定的控制器或动作,实现动态的安全策略。 4. 异常处理:当访问被拒绝或认证失败时,Acegi插件能自动处理异常,提供友好的错误页面。 在解压后的文件列表中,...
同时,可以利用Grails的拦截器(Interceptor)或Service层来实现授权逻辑。 例如,我们可以创建一个`Role`类,包含`permissions`属性,表示角色拥有的权限;创建`Permission`类,定义资源和操作;创建`User`类,...