最近由于项目需要,用到了grails,这玩意确实好用,生产率高有类型python的速度与简洁。仅第一印象,用的还不深入,说的不对请轻拍。

遇到的几个问题:

1. groovy远程调试

玩Java的应该都知道在eclipse中有个java remote debug的功能,可以调试java拉起的程序,含jar,含web。

话说业界某公司做IDE,拖拽图元出来的代码,都能对图元进行远程调试,虽然那功能做的不是很漂亮,但也不错。

不多了,言归正传。

一个语言如果不能远程调试,那多痛苦啊,尤其是用在web后端的语言。因为一般上点规模的不是玩具的系统都会涉及到很多其他模块,在本机搭环境,会痛苦的一沓。何况很多系统的模块只支持Linux系统

找了好久未能解决。

stackoverflow有一哥们在问,但是也没具体结果

貌似结论就是不支持

How to debug Groovy code via the remote Java application debugging in Eclipse

后来,后来,终于在群里,—飞/aiq警 这个哥们告诉我上IntelliJ IDEA 这个IDE

我带着半信半疑的态度用了把,果然行。

再次谢谢 —飞/aiq警 这个哥们。

说下方法(我这边打出来war是放在tomcat容器中的)

1. 修改tomcat的启动脚本增加dtsocket配置已经打开远程debug的参数

Shell
export JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8333,server=y,suspend=n $JAVA_OPTS"
1
export JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8333,server=y,suspend=n $JAVA_OPTS"

2. 重启tomcat 确认8333端口已经监听

3.  配置IntelliJ, 与eclipse的远程调试类似,大同小异,只是菜单在地方不一样,快捷键不一样

我新建了一个远程debug配置

如下图1

然后启动这个debug 就可以连接到远程的server上了

然后run debug 刚才的那个远程debug就可以了

试下断点,果然行

2. 关于请求contriller中的action让其返回xml 出现404问题

在很多场景下,比如做api的需求,webservice的需求,都需要返回xml或者json格式的数据。

但是我按官网的文档区做,怎么做怎么就是404.

说我那个action对应的view不在,汗,我把那个view放上去,他就显示view中的内容,也不显示action中组装的xml的内容。

没招,试了很久,翻阅若干文档,国内的,国外的,E文不够好,看的不是很明白。

终于,终于,发现一个哥们说的,试了下,果然ok,

请猛戳这里REST Service XML Output in Grails via Content Negotiation

关键点在这里:

if you call http://localhost:8080/myapp/blah/list.xml or http://localhost:8080/myapp/blah/list?format=xml, you will get an XML result

其实,看到这里,这个问题,也不复杂。但是我为什么会被绕进去呢,嗯,(⊙_⊙),人品问题?好吧。

我解释下,这玩意按官网的说法,你要想响应回xml格式的内容,只需要

JavaScript
1
2
3
4
5
6
7
8
9
10

      withFormat {
        xml {
          render(contentType:"text/xml") {
            response() {
              returncode("FAILED")
              message("Could not find conference.")
            }
          }
        }
      }

就可以了。

但是我的为什么出问题呢

原因是我测试的时候测试页面用的是post请求(当然我已经在urlMappings中配置上post对应的action

“/commonFileShare/preBatchDownload”(controller:”commonFileShare”) {
action = [POST:'preBatchDownload', GET:'preBatchDownload']
}

)

如果用get请求的话就是ok

后来我post的时候

http://192.168.1.148:8080/xxx/commonFileShare/preBatchDownload?format=xml

也是就说你用post方式请求的时候,后面加?format=xml

就可以啦。

–EOF–

http://www.simonme.org/?p=169

转载于:https://www.cnblogs.com/softidea/p/4368852.html

grails的controller和action那点事---远程调试groovy代码相关推荐

  1. [ASP.NET MVC 小牛之路]10 - Controller 和 Action (2)

    继上一篇文章之后,本文将介绍 Controller 和 Action 的一些较高级特性,包括 Controller Factory.Action Invoker 和异步 Controller 等内容. ...

  2. 在ASP.NET MVC 中获取当前URL、controller、action

    在ASP.NET MVC 中获取当前URL.controller.action URL的获取很简单,ASP.NET通用: [1]获取 完整url  (协议名+域名+虚拟目录名+文件名+参数) stri ...

  3. 【ASP.NET MVC 学习笔记】- 10 Controller和Action(1)

    本文参考:http://www.cnblogs.com/willick/p/3331521.html 1.继承IController接口,示例代码将当前请求的Controller和Action打印到浏 ...

  4. 解读ASP.NET 5 MVC6系列(10):Controller与Action

    原文:解读ASP.NET 5 & MVC6系列(10):Controller与Action 我们知道在MVC5和之前的版本,两个框架的生命周期是不一样的,在新版MVC6中,MVC Contro ...

  5. ASP.NET MVC 入门4、Controller与Action

    本系列文章基于ASP.NET MVC Preview5. Controller是MVC中比较重要的一部分.几乎所有的业务逻辑都是在这里进行处理的,并且从Model中取出数据.在ASP.NET MVC ...

  6. Thinkphp3.2版本Controller和Action的访问方法

    一.3.2版本以前controller和action的访问方式 在3.2版本以前如果Controller=c.Action=a的话,访问规则如下: http://localhost:81/demo1/ ...

  7. .net mvc 获取url中controller和action

    第一种: 获取controller名称:ViewContext.RouteData.Values["controller"] 获取action名称:ViewContext.Rout ...

  8. Scrapy糗事百科爬虫实战代码分析

    Scrapy糗事百科爬虫实战代码分析 视频教学网址:[python爬虫_从入门到精通(高级篇)]scrapy框架.反爬.分布式爬虫 一.Scrapy糗事百科之爬取单页数据并保存 具体的创建方法可以参照 ...

  9. controller 和 Action 之间的区别

    Controller 是 SpringMVC的控制层.Action 是 Structs 的控制层. SpringMVC的Controller和Struts2的Action均是实现MVC模式的控制层.两 ...

最新文章

  1. 【CV】吴恩达机器学习课程笔记第16章
  2. 项目实施中应该注意的事项
  3. 手工卸载.Net写的win服务
  4. js 操作vuex数据_Vue.js中使用Vuex实现组件数据共享案例
  5. webpack+vue+mui学习心得
  6. UVA - 208 Firetruck(并查集+dfs)
  7. 用canvas实现手写签名功能
  8. 在Mac OS X下编译 boost|building boost library under mac os x
  9. [kuangbin带你飞] 专题一简单搜索
  10. GMap.Net开发之自定义Marker
  11. 回顾2019,展望2020
  12. 【滤波跟踪】基于多源信息融合算法实现多旋翼无人机组合导航系统含Matlab源码
  13. LA 3713 Astronauts 2-SAT问题
  14. qt对excel的基本操作
  15. 美式期权定价利率衍生证券
  16. 最近邻分类算法KNN实现--参考麦子学院彭亮机器学习基础4.2
  17. Linux-2.6 所有版本内核源码下载
  18. 解决QT加载dll失败问题
  19. 创建新环境后,如何在Jupyter Notebook中使用新环境?
  20. HTML静态网页作业——我的家乡安庆

热门文章

  1. 比较顺序表和链表的优缺点
  2. 设置***遇到一个小问题
  3. 从语义(semantic)GIS和知识表达谈起
  4. 比特币现金是银行的一种补充
  5. openOffice word转pdf,pdf转图片优化版
  6. 这两天老是有兄弟问到Vue的登陆和注册,登陆成功留在首页,没有登录回到登录页面,现在我用最简单实用的方法实现(两分钟技就看懂)...
  7. 想学大数据?大数据处理的开源框架推荐
  8. 张勇:做一个透明经济体的CEO
  9. 安装Windows 2012域控(For SQLServer 2014 AlwaysOn)
  10. 线上应用故障排查之二:高内存占用