使用Eclipse來開發調試WebBuilder項目

使用Eclipse來開發調試WebBuilder項目

下載,安裝Groovy插件:

下載地址: Groovy-Eclipsejava

下載,安裝Tomcat插件:

下載地址: Tomca-Eclipsemysql

打開Eclipse,配置Tomcat插件,以下圖所示:git

1555468723519

新建一個Java Project項目

​ 命名爲WB8,而後在項目的右鍵菜單裏,添加Groovy支持!以下圖所示:github

1555469258180

打開項目屬性配置窗口

​ 配置好Tomcat,以下圖所示:web

1555469486757

Extra information裏輸入JNDI數據源,例如:sql

<Resource
        name="jdbc/wb_mysql"
        auth="Container" type="javax.sql.DataSource"
        driverClassName="com.mysql.jdbc.Driver"
        validationQuery="select 1" testWhileIdle="true" testOnBorrow="false"
        url="jdbc:mysql://127.0.0.1:3306/wb?autoReconnect=true&amp;allowMultiQueries=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;mysqlEncoding=utf8"
        username="root" password="XXXXXX"
        maxActive="20" maxIdle="10" maxWait="-1" />

複製WebBuilder應用目錄

​ 在項目的根目錄下新建一個web目錄,把壓縮文件webbuilder.zip裏的/wb目錄下的全部東西複製到新建的web下,最後的目錄結構以下圖所示:json

1555469867298

更新項目的Context

​ 把WB8項目的context信息更新到Tomcat的tomcat8/conf/Catalina/localhost目錄下,以下圖所示:瀏覽器

1555470503841

文件wb.xml內容如:tomcat

<Context path="/wb" reloadable="true" docBase="C:\WJW_E\WJW_DATA\OpenSource\WebBuilder\eclipse_workspace\WB8\web" workDir="C:\WJW_E\WJW_DATA\OpenSource\WebBuilder\eclipse_workspace\WB8\work" >
<!-- Extra info begin -->
<Resource
        name="jdbc/wb_mysql"
        auth="Container" type="javax.sql.DataSource"
        driverClassName="com.mysql.jdbc.Driver"
        validationQuery="select 1" testWhileIdle="true" testOnBorrow="false"
        url="jdbc:mysql://127.0.0.1:3306/wb?autoReconnect=true&amp;allowMultiQueries=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;mysqlEncoding=utf8"
        username="root" password="XXXXXX"
        maxActive="20" maxIdle="10" maxWait="-1" />

<!-- Extra info end -->
</Context>

增長Groovy支持

  1. groovy-all-X.X.X.jar複製到WEB-INF/lib/目錄下
    修改Java Build Path,把WEB-INF/lib目錄下的全部jar文件添加到Libraries中!

以下圖所示:app

1555472037766

  1. 修改文件WEB-INF/web.xml,在</filter-mapping>行下面添加:
<servlet>
    <servlet-name>GroovyServlet</servlet-name>
    <servlet-class>groovy.servlet.GroovyServlet</servlet-class>
    <init-param>
      <param-name>verbose</param-name>
      <param-value>false</param-value>
    </init-param>
    <init-param>
      <param-name>logGROOVY861</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>resource.name.regex</param-name>
      <param-value>gdo$</param-value>
    </init-param>
    <init-param>
      <param-name>resource.name.replacement</param-name>
      <param-value>groovy</param-value>
    </init-param>
         
    <load-on-startup>2</load-on-startup>
  </servlet>
	
  <servlet-mapping>
   <servlet-name>GroovyServlet</servlet-name>
   <url-pattern>*.gdo</url-pattern>
  </servlet-mapping>
  1. 編寫測試文件WEB-INF/groovy/test.groovy,(按照約定,WEB-INF/groovy是groovy文件的根目錄!)
def builder = new groovy.json.JsonBuilder()
builder.people {
	person {
		firstName 'Guillame'
		lastName 'Laforge'
		// Named arguments are valid values for objects too
		address(
		city: 'Paris',
		country: 'France',
		zip: 12345,
		)
		married true
		// a list of values
		conferences 'JavaOne', '你好'
	}
}

out <<  "通常輸出:"+builder.toString()
out <<  "<br>\r\n格式化輸出:"
out <<  builder.toPrettyString()
  1. 加上權限判斷 用Wb.request方法或者url直接引用,而後在groovy裏定義能訪問的角色,以此來判斷是否有執行權限!例如:
//xwl文件裏
Wb.request({
  url: 'test.gdo',
  params: {
    foo: 'abc',
    bar: 123
  },
  success: function(response) {
    app.textarea1.setValue(response.responseText);
    Wb.info(response.responseText);
  }
});

//groovy文件裏
def needRoles=['default','admin']*.toUpperCase()
def currentRoles = com.wb.common.Session.getRoles(request).toList()*.toUpperCase()

//判斷角色  
//任一角色
if(!currentRoles.any { needRoles.contains(it) }) {
  com.wb.util.SysUtil.accessDenied(request);
}

//或者 所有角色 
if(!currentRoles.containsAll(needRoles)) {
  com.wb.util.SysUtil.accessDenied(request);
}
  1. 修改Java Build Path,把groovy文件的根目錄WEB-INF/groovy添加到Source中,這樣就能夠進行斷點調試了!

以下圖所示:

1555471790247

啓動WebBuilder項目

以下圖所示:

1555470206705

最後,打開瀏覽器

輸入http://localhost:8080/wb/,進行開發,調試!

個人博客即將同步至騰訊雲+社區,邀請你們一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=yd49zwxwqvof

相關文章
相關標籤/搜索