Gradle搭建Struts 2.5.14.1基于注解的的开发环境
2018-01-14 11:20
435 查看
注意:很多人使用开发工具时基于xml可以,但是注解时无法访问action,
主要原因是没配置struts.convention.exclude.parentClassLoader=false
(1)build.gradle内容
//要使用gradle运行时,避免出错,可以使用tomcatRun运行
apply plugin: 'war'
//以下二选一,都是加载gretty插件
//1.选择下面方式时,优点是:不需要做任何操作,缺点是:不支持离线运行,网络不好或者是github访问异常时无法运行
//apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'
//2.选择下面方式时,优点是:支持离线运行,网络不好时也可以运行,缺点是:需要将上一步的文件提前下载下来。
apply from:'gretty.plugin'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
repositories {
jcenter()
}
dependencies {
//配置Struts的依赖包
compile group: 'org.apache.struts', name: 'struts2-core', version: '2.5.14.1'
//注解时需要添加的插件
compile group: 'org.apache.struts', name: 'struts2-convention-plugin', version: '2.5.14.1'
//通过config-browser-plugin动态查看当前的Action对象
//compile group: 'org.apache.struts', name: 'struts2-config-browser-plugin', version: '2.5.14.1'
//配置log4j日志依赖包
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.10.0'
}
(1-1)gretty-plugin
gretty.plugin内容
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.akhikhl.gretty:gretty:2.0.0'
}
}
repositories {
jcenter()
}
if (!project.plugins.findPlugin(org.akhikhl.gretty.GrettyPlugin))
project.apply(plugin: org.akhikhl.gretty.GrettyPlugin)
(2)settings.gradle内容
rootProject.name = 'struts2-anotation'
(3)web.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd ">
<display-name>Struts2.5</display-name>
<description>Struts2.5 Anotation Demo</description>
<filter>
<filter-name>Struts2.5</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2.5</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jhtml</welcome-file>
</welcome-file-list>
</web-app>
(4)struts.properties内容(因为这里是注解,所以连struts.xml也一块去掉了)
struts.devMode=true
struts.action.extension=jhtml,,
struts.convention.exclude.parentClassLoader=false
(5)IndexAction.java内容
package cn.gov.tzjyxx.actions;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Actions;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import com.opensymphony.xwork2.ActionSupport;
@ParentPackage("struts-default")
public class IndexAction extends ActionSupport {
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@Action(value="index",results={@Result(location="index.jsp")})
public String execute() throws Exception {
setMessage("成功与否看:struts.convention.exclude.parentClassLoader=false");
return SUCCESS;
}
}
(6)LoginAction内容
package cn.gov.tzjyxx.actions;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import com.opensymphony.xwork2.ActionSupport;
@ParentPackage("struts-default")
public class LoginAction extends ActionSupport {
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
@Action(value="login",results={@Result(location="success.jsp"),@Result(name="input",location="error.jsp")})
public String execute() throws Exception {
if("admin".equals(getName()) && "23296926".equals(getPassword()))
{
return SUCCESS;
}else{
return INPUT;
}
}
}
index.jsp error.jsp success.jsp内容略。
主要原因是没配置struts.convention.exclude.parentClassLoader=false
(1)build.gradle内容
//要使用gradle运行时,避免出错,可以使用tomcatRun运行
apply plugin: 'war'
//以下二选一,都是加载gretty插件
//1.选择下面方式时,优点是:不需要做任何操作,缺点是:不支持离线运行,网络不好或者是github访问异常时无法运行
//apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'
//2.选择下面方式时,优点是:支持离线运行,网络不好时也可以运行,缺点是:需要将上一步的文件提前下载下来。
apply from:'gretty.plugin'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
repositories {
jcenter()
}
dependencies {
//配置Struts的依赖包
compile group: 'org.apache.struts', name: 'struts2-core', version: '2.5.14.1'
//注解时需要添加的插件
compile group: 'org.apache.struts', name: 'struts2-convention-plugin', version: '2.5.14.1'
//通过config-browser-plugin动态查看当前的Action对象
//compile group: 'org.apache.struts', name: 'struts2-config-browser-plugin', version: '2.5.14.1'
//配置log4j日志依赖包
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.10.0'
}
(1-1)gretty-plugin
gretty.plugin内容
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.akhikhl.gretty:gretty:2.0.0'
}
}
repositories {
jcenter()
}
if (!project.plugins.findPlugin(org.akhikhl.gretty.GrettyPlugin))
project.apply(plugin: org.akhikhl.gretty.GrettyPlugin)
(2)settings.gradle内容
rootProject.name = 'struts2-anotation'
(3)web.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd ">
<display-name>Struts2.5</display-name>
<description>Struts2.5 Anotation Demo</description>
<filter>
<filter-name>Struts2.5</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2.5</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jhtml</welcome-file>
</welcome-file-list>
</web-app>
(4)struts.properties内容(因为这里是注解,所以连struts.xml也一块去掉了)
struts.devMode=true
struts.action.extension=jhtml,,
struts.convention.exclude.parentClassLoader=false
(5)IndexAction.java内容
package cn.gov.tzjyxx.actions;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Actions;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import com.opensymphony.xwork2.ActionSupport;
@ParentPackage("struts-default")
public class IndexAction extends ActionSupport {
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@Action(value="index",results={@Result(location="index.jsp")})
public String execute() throws Exception {
setMessage("成功与否看:struts.convention.exclude.parentClassLoader=false");
return SUCCESS;
}
}
(6)LoginAction内容
package cn.gov.tzjyxx.actions;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import com.opensymphony.xwork2.ActionSupport;
@ParentPackage("struts-default")
public class LoginAction extends ActionSupport {
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
@Action(value="login",results={@Result(location="success.jsp"),@Result(name="input",location="error.jsp")})
public String execute() throws Exception {
if("admin".equals(getName()) && "23296926".equals(getPassword()))
{
return SUCCESS;
}else{
return INPUT;
}
}
}
index.jsp error.jsp success.jsp内容略。
相关文章推荐
- Gradle搭建Struts 2.5.14.1基于xml配置文件的开发环境
- 基于GBT28181:SIP协议组件开发-----------第一篇环境搭建
- SpringMVC+Spring+Mybatis 环境搭建问题记录(注解开发)
- 基于ANT+通讯协议软件开发环境搭建
- ubuntu下搭建基于eclipse的c/c++开发环境
- 基于Ubuntu 14 LTS的LAMP开发环境搭建
- 搭建 Windows 下基于 Eclipse 的 PHP 开发环境
- 搭建基于Android和PhoneGap的开发环境
- 基于J2EE规范的中间件——EJB开发环境搭建
- ibatis 开发中的经验 (三)Struts+Spring+Ibatis 开发环境搭建
- 用sublime搭建基于GoSublime+gocode+MarGo的下载SublimeGO开发环境
- 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境
- 基于eclipse搭建android开发环境-win7 32bit
- 一步一步实现Spring4 + Hibernate4 + Freemarker2 的注解驱动开发(一. 环境搭建)
- 基于ADT bundle快速搭建Android开发环境
- 基于tiny4412搭建Android开发环境
- 11-基于OMAPL138和Ubuntu10.04的nfs开发环境搭建
- Ubuntu12.04搭建java开发环境基于jdk7和eclipse
- 微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(MyEclipse + SVN)
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(1)-WDF概述及开发环境搭建