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>
时间关系文章中估计有错别字,主要意思懂就好了,关于注解的相关知识点
可以参考一下点击打开链接