struts2的Hello World demo

  1.  准备jar包:struts2的Hello World demo_第1张图片
  2. 在WEB-INF目录下创建一个web.xml,具体内容如下:
    
    
    	
    		struts2
    		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    	
    
    	
    		struts2
    		*.action
    	
    

    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter是struts2定义的一个过滤器,它会拦截指定的请求,这里会拦截以.action结尾的请求,来完成请求到java后台方法的调用以及视图页面的解析工作等。

  3. 编写一个action类,struts2里面的action类并没有强制要求其继承或实现框架指定的规范类,但为了获取struts2框架的一些增强功能,通常会继承一个类:com.opensymphony.xwork2.ActionSupport,具体的代码如下:
    package com.web;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class HelloAction extends ActionSupport {
    
    	private static final long serialVersionUID = 1L;
    
    	public String doWork() {
    		System.out.println("这里写要做的事...");
    		return "success";
    	}
    }

     

  4. struts2的过滤器被web容器初始化时,默认会加载类路径下的struts.xml,现在我们编写一个struts.xml文件
     

    
    
    
    	
    	
    	
    	
    	
    		
    			/WEB-INF/helloPage.jsp
    		
    	
    

    这里我们指定一个package(包),定义了包名为basePackage,继承于struts-default.xml文件(在struts2-core这个jar里面能找到它),定义了一个命名空间为正斜杠,在包里面定义一个action元素,指定action的名字为hello,指向的类名为com.web.HelloAction,调用action的方法为doWork,方法结束后会返回一个字符串,struts2里面的action方法的返回值一般为一个字符串,规定要跳转的视图页面的逻辑名称,在result元素里面会具体规定哪个逻辑名称映射到哪个物理存在的页面,通常为一个jsp文件。

  5. 现在,一个简单的struts2的Hello World小项目就基本写完了。接下来我们把项目部署到一个web容器,这里我将它放到我本地的tomcat的webapps路径下面,tomcat对外公布8080 http访问端口,然后启动tomcat。浏览器访问:http://localhost:8080/struts2project/hello!doWork.action,将看到如下内容:

  6. 通过上面这个例子我们可以大概了解到struts2的一个的工作流程。由于文章篇幅有限,大家可参考我的gitee仓库了解更多:https://gitee.com/niefeilong/struts2project,下次再会~

你可能感兴趣的:(Struts2)