struts2 脱离配置文件 全注解配置
2015-07-17 14:38
369 查看
struts2 脱离配置文件 全注解配置
前面讲了如何搭建struts2开发环境,基本上都是依赖与配置文件,首先进去web.xml中识别struts2过滤器,然后在struts.xml中检查对应得Action的配置,根据配置文件来配置如何挑战,但是有时候为了缩短开发周期所以要使用全注解的方式来开发,这样我们就要用到Annotation来开发,那么在前面的基础上如何加入Annotation的功能呢
首先在之前导入相关的依赖包基础上来进行如下的一些操作:
step1:jxiaz下载相关的jar包,一般在struts目录下的lib 中就应该有
把这个文件copy到工程的WEB-INF/LIB中不然后面再代码中用
注解的时候会不是别,在java中有自己的注解,但是struts2封装了自己的注解相关的一些个资源。
step2: 仍然让自己的web.xml,与struts.xml存在,struts。xml文件请放在src下面。然后在自己的src目录下面新建自己的包 比如我这里新建的包的名称为:com.soft.grand.action;这里顺便和说一下eclipse编译过程中追踪文件的位置是如何变化的,我们平时开发用eclipse导入包的时候一般有两种操作方式,那么这两种操作方式有啥不同呢?利用java build path 方式加载进去的包是eclipse在编译的时候所需要的包。加入说开始的我们的项目需要一些个包,但是呢我们并没有加载他们所以在eclispe中就会报红,当我们利用如下的方式来加载后就会消失,但是当我们在运行的时候需要的一些包如果没有到lib中的话,那么在运行的时候就会出错,eclipse在编译的时候会在src下找到对应的文件,比如说java文件然后编译成class
文件后,在复制到WEB-INF/lib 下的classes中。
step3:在自己建立的包下面新建自己的源文件。
注意:
在第二步新建的时候,这个包名请以struts,strut,action等结尾。在struts2中会默认的找这写包下面的Action类(为好命名为XXAction)然后找到对应的Action执行它对应的注解
我的Action:
package com.soft.grand.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Results;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
@ParentPackage("struts-default")
// 父包
@Results( {
@Result(name = com.opensymphony.xwork2.Action.SUCCESS, location = "/result.jsp")
})
public class HelloWorldAction extends ActionSupport {
@Action("hello")
public String hello(){
return SUCCESS;
}
}
我的jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="hello" method=post>
<input type="submit"/>
</form>
</body>
</html>
时间关系文章中估计有错别字,主要意思懂就好了,关于注解的相关知识点
可以参考一下点击打开链接
前面讲了如何搭建struts2开发环境,基本上都是依赖与配置文件,首先进去web.xml中识别struts2过滤器,然后在struts.xml中检查对应得Action的配置,根据配置文件来配置如何挑战,但是有时候为了缩短开发周期所以要使用全注解的方式来开发,这样我们就要用到Annotation来开发,那么在前面的基础上如何加入Annotation的功能呢
首先在之前导入相关的依赖包基础上来进行如下的一些操作:
step1:jxiaz下载相关的jar包,一般在struts目录下的lib 中就应该有
把这个文件copy到工程的WEB-INF/LIB中不然后面再代码中用
注解的时候会不是别,在java中有自己的注解,但是struts2封装了自己的注解相关的一些个资源。
step2: 仍然让自己的web.xml,与struts.xml存在,struts。xml文件请放在src下面。然后在自己的src目录下面新建自己的包 比如我这里新建的包的名称为:com.soft.grand.action;这里顺便和说一下eclipse编译过程中追踪文件的位置是如何变化的,我们平时开发用eclipse导入包的时候一般有两种操作方式,那么这两种操作方式有啥不同呢?利用java build path 方式加载进去的包是eclipse在编译的时候所需要的包。加入说开始的我们的项目需要一些个包,但是呢我们并没有加载他们所以在eclispe中就会报红,当我们利用如下的方式来加载后就会消失,但是当我们在运行的时候需要的一些包如果没有到lib中的话,那么在运行的时候就会出错,eclipse在编译的时候会在src下找到对应的文件,比如说java文件然后编译成class
文件后,在复制到WEB-INF/lib 下的classes中。
step3:在自己建立的包下面新建自己的源文件。
注意:
在第二步新建的时候,这个包名请以struts,strut,action等结尾。在struts2中会默认的找这写包下面的Action类(为好命名为XXAction)然后找到对应的Action执行它对应的注解
我的Action:
package com.soft.grand.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Results;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
@ParentPackage("struts-default")
// 父包
@Results( {
@Result(name = com.opensymphony.xwork2.Action.SUCCESS, location = "/result.jsp")
})
public class HelloWorldAction extends ActionSupport {
@Action("hello")
public String hello(){
return SUCCESS;
}
}
我的jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="hello" method=post>
<input type="submit"/>
</form>
</body>
</html>
时间关系文章中估计有错别字,主要意思懂就好了,关于注解的相关知识点
可以参考一下点击打开链接
相关文章推荐
- struts2 jquery 打造无限层次的树
- ajax交互Struts2的action(客户端/服务器端)
- struts2 spring整合fieldError问题
- Struts2的s:radio标签使用及用jquery添加change事件
- struts2 中文乱码的解决办法分享
- Struts2访问servlet分享
- struts2单个文件上传的两种实现方式
- struts2+jquery实现ajax登陆实例详解
- struts2中一个表单中提交多个请求的例子(多个提交按钮)
- Java(基于Struts2) 分页实现代码
- 从搭建Struts2 开发环境说起
- JAVA+Struts2获取服务器地址的方法
- 使用maven+eclipse搭建struts2开发环境
- 关于国际化、OGNL表达式语言
- 在Struts2中如何将父类属性序列化为JSON格式的解决方法
- 在Struts2中的结果集类型
- 关于Struts2的类型转换详解
- 搭建EXTJS和STRUTS2框架(ext和struts2简单实例)
- 关于Struts2文件上传与自定义拦截器
- JavaWeb中struts2实现文件上传下载功能实例解析