一个关于多项目的文档管理系统做完了,是用grails框架做的。最近将它打成了war包,部署到正式环境的时候居然报了404的错误,然后仔细看看了源代码,终于找到原因,也请各位在开发的时候注意:规约大于配置!!!
我现在只讲系统中遇到的问题。
1、
render(view:"/oa/seeDocumentFlow", model:[documentFlowInstance:documentFlowInstance,startUser:startUser,documentFlowSteps:documentFlowSteps])
解释:返回到oa下面的seeDocumentFlow视图(非当前包的视图),但其实oa这个视图文件名为:OA。用grails自己的服务器启动,web容器会找到OA,即使这里返回的视图为小写的:oa。好了,现在如果将项目打成war包部署到tomcat下面,哈哈,问题就出来了,报错如图1,
The requested resource (/WEB-INF/grails-app/views/oa/OADocumentFlow.jsp) is not available.
。在tomcat下面提示的是找不到oa这个视图文件夹。情况说明到这里,归其原因是:我们在代码里写的是小写的oa,grails web容器会找oa这个视图,找不到,它会去找类似的,比如:OA,所以在grails web容器里会找到对应的资源,但是tomcat下面就找不到了。具体原因不清楚,应该是和grails的“规约大于配置”这一理念相关。
2、
<iframe src="${resource(dir:'taskManager',file:'taskManager1')}" />
对应的是taskManager视图文件夹下面的taskManager1视图。在我的项目中,别人做的是把taskManager1这个文件名改成了TaskManager1,在grails web容器里可以找到,controller类里也可以找到,但是打成war包后同样报404错误,图2:
/WEB-INF/grails-app/views/taskManager/taskManager1.jsp
。web容器找的是taskManager1这个action对应的taskManager1这个视图,但是实际存在的文件名是:TaskManager1,所以它报404错误,但grails web容器可以找到。
两者情况有点相反,请大家在做grails开发的时候注意下,不要到了部署的时候才发现这样的问题。
- 描述: 图1
- 大小: 4.7 KB
- 描述: 图2
- 大小: 3.7 KB
分享到:
相关推荐
在本文中,我们将深入探讨如何在Grails框架中配置MongoDB数据库,并实现用户登录系统。Grails是一款基于Groovy语言的、高效的Web应用开发框架,它借鉴了Ruby on Rails的许多优秀特性。MongoDB则是一种流行的NoSQL...
### Groovy和Grails配置方法 #### 一、Groovy与Grails简介 Groovy是一种强大的面向对象编程语言,它运行在Java平台上,并且能够直接与Java代码进行交互。Groovy支持函数式编程特性,拥有丰富的语法糖以及简洁的...
以上就是关于“grails项目配置”的核心内容,这个项目展示了Grails在处理复杂数据关系和数据库配置方面的灵活性,以及其作为全栈框架的强大能力。通过深入理解并实践这些知识点,开发者能够更好地掌握Grails框架,...
Grails3是一个基于Groovy语言的开源Web应用程序框架,采用约定优于配置的原则来简化Web应用的开发。logback是当前流行的日志框架,它与log4j有着相同的源,并提供了更为强大的功能。本文主要介绍如何在Grails3项目中...
在Eclipse中开发Grails项目是一项技术性较强的工作,涉及到多个步骤和配置。Grails是一个基于Groovy语言的开源Web应用框架,它简化了Java开发流程。以下将详细阐述如何在Eclipse环境下配置Grails项目并进行调试。 ...
关于Grails开发的软件部署建议
1. **自动化配置和约定优于配置**:Grails 提供了许多默认配置,例如数据库连接、URL映射等,开发者只需按照约定编写代码即可,减少了配置工作。 2. **GORM(Grails Object Relational Mapping)**: GORM 是Grails...
本篇将详细介绍如何在Grails 3中配置单独的数据库properties,以便在开发过程中管理多个数据源,满足复杂的企业级需求。 首先,我们需要理解Grails中的数据源配置。默认情况下,Grails使用一个名为`dataSource`的主...
Grails遵循一套默认的规约,比如数据库连接、目录结构等,这减少了大量手动配置的需求。然而,当需要自定义时,可以通过`Config.groovy`配置文件进行修改。 5. **运行与测试** - **运行Grails应用**:使用`grails...
grials Install if you want to Install grails tools ,you can look at it .i would it can help you
注意,尽管Eclipse对Grails的支持相比IntelliJ IDEA和NetBeans可能稍显不足,但通过Groovy Eclipse插件的配置,开发者依然能在Eclipse中高效地进行Grails开发。不断更新插件和学习最佳实践将有助于提升开发体验。
3. **配置Grails环境**:安装插件后,需要在Eclipse中配置Grails的路径,这样Eclipse才能找到Grails命令行工具。这通常在"Eclipse Preferences" -> "Grails"中设置。 4. **创建Grails项目**:现在,你可以通过...
- **自动配置**:Grails 自动处理很多配置细节,如数据源、日志管理等,减少了配置文件的数量和复杂度。 - **集成 Hibernate**:Grails 内置对 Hibernate 的支持,简化了数据库操作。 - **脚手架支持**:提供了一套...
下面我们将详细介绍如何配置Eclipse插件Grails以及Groovy的相关知识点。 首先,安装Groovy和Grails插件是至关重要的。你可以通过Eclipse的内置Marketplace来查找并安装Groovy和Grails Development Tools (GDT)。...
**规约配置** - Grails采用约定优于配置的原则,减少了大量的配置工作。 - 但仍然可以对某些方面进行自定义配置,以满足特定需求。 **运行应用** - 使用`grails run-app`命令启动应用。 - 默认监听端口8080,可通过...
Grails是一个基于Groovy语言的全栈框架,它遵循约定优于配置的原则,并且紧密集成Spring和Hibernate等流行的Java库,简化了开发流程。Grails在IT行业中尤其受到重视,因为它能够帮助开发者快速搭建并部署基于MVC模式...
从部分内容中我们可以抽取出关于如何配置Grails项目的一些知识点。首先提到了build.gradle文件的配置,这是Gradle构建工具在使用Grails时必要的配置文件。在build.gradle中,通过buildscript指令定义了构建脚本需要...