Struts2自动装配(+入门)

Struts2  入门

实现 的具体步骤:
1.加载类库
2.配置web.xml
3.开发视图层页面
4.开发控制层Action
5.配置struts.xml文件
6.部署运行项目

1.
[java]  view plain  copy
  1. "http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  3.       
  4.         Y2_SSH  
  5.         cn.happy  
  6.         1.0-SNAPSHOT  
  7.       
  8.     4.0.0  
  9.     Struts2Base  
  10.     war  
  11.     Struts2Base Maven Webapp  
  12.     http://maven.apache.org  
  13.       
  14.           
  15.             junit  
  16.             junit  
  17.             3.8.1  
  18.             test  
  19.           
  20.           
  21.             org.apache.struts  
  22.             struts2-core  
  23.             2.3.4.1  
  24.           
  25.           
  26.             org.apache.struts.xwork  
  27.             xwork-core  
  28.             2.3.4.1  
  29.           
  30.   
  31.           
  32.           
  33.           
  34.             org.apache.taglibs  
  35.             taglibs-standard-spec  
  36.             1.2.1  
  37.           
  38.           
  39.           
  40.             org.apache.taglibs  
  41.             taglibs-standard-impl  
  42.             1.2.1  
  43.           
  44.   
  45.           
  46.           
  47.             javax.servlet.jsp.jstl  
  48.             jstl-api  
  49.             1.2  
  50.           
  51.           
  52.             javaee  
  53.             javaee-api  
  54.             5  
  55.           
  56.       
  57.       
  58.           
  59.               
  60.                 src/main/java  
  61.                   
  62.                     **/*.*  
  63.                   
  64.               
  65.           
  66.       
  67.   


2.
[java]  view plain  copy
  1. "1.0" encoding="UTF-8"?>  
  2. "http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  
  3.   
  4.     
  5.     struts2  
  6.     class>  
  7.       org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  
  8.     class>  
  9.     
  10.     
  11.     struts2  
  12.     /*  
  13.     
  14.   
  15.     
  16.     contextConfigLocation  
  17.     classpath:struts.xml  
  18.     
  19.     
  20.     class>org.springframework.web.context.ContextLoaderListenerclass>  
  21.     
  22.     
  23.     helloworld.jsp  
  24.     
  25.   


3.
[java]  view plain  copy
  1. <%@ taglib prefix="s" uri="/struts-tags" %>  
  2. <%--  
  3.   Created by IntelliJ IDEA.  
  4.   User: linlin  
  5.   Date: 2017/10/22  
  6.   Time: 9:22  
  7.   To change this template use File | Settings | File Templates.  
  8. --%>  
  9. <%@ page contentType="text/html;charset=UTF-8" language="java" %>  
  10.   
  11.   
  12.     登录  
  13.   
  14.   
  15. "UserAction" method="post">  
  16.     "name" >  
  17.     "pwd" >  
  18.     "提交"/>  
  19.   
  20.   
  21.   
成功的页面:
[java]  view plain  copy
  1. <%--  
  2.   Created by IntelliJ IDEA.  
  3.   User: linlin  
  4.   Date: 2017/10/22  
  5.   Time: 9:22  
  6.   To change this template use File | Settings | File Templates.  
  7. --%>  
  8. <%@ page contentType="text/html;charset=UTF-8" language="java" %>  
  9.   
  10.   
  11.     Success  
  12.   
  13.   
  14. 登录成功!!!

      
  15.   
  16.   


4.控制层
[java]  view plain  copy
  1. package cn.happy.struts02;  
  2.   
  3. import com.opensymphony.xwork2.Action;  
  4.   
  5. /** 
  6.  * Created by linlin on 2017/10/22. 
  7.  */  
  8. public class UserAction implements Action {  
  9.     private String name;  
  10.     private String pwd;  
  11.     public String execute() throws Exception {  
  12.   
  13.         if(name.equals("admin")&&pwd.equals("1")){  
  14.             return SUCCESS;  
  15.         }  
  16.        return ERROR;  
  17.     }  
  18.   
  19.     public String getName() {  
  20.         return name;  
  21.     }  
  22.   
  23.     public void setName(String name) {  
  24.         this.name = name;  
  25.     }  
  26.   
  27.     public String getPwd() {  
  28.         return pwd;  
  29.     }  
  30.   
  31.     public void setPwd(String pwd) {  
  32.         this.pwd = pwd;  
  33.     }  
  34. }  

5.action
[java]  view plain  copy
  1. "1.0" encoding="UTF-8"?>  
  2.         "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  3.         "http://struts.apache.org/dtds/struts-2.0.dtd">  
  4.   
  5.     <package name="default" namespace="/" extends="struts-default">  
  6.   
  7.         "he" class="cn.happy.struts01.HelloWorld">  
  8.             "helloworld">/helloworld.jsp  
  9.           
  10.   
  11.         "UserAction" class="cn.happy.struts02.UserAction">  
  12.             "success">/success.jsp  
  13.             "error">/index.jsp  
  14.           
  15.     package>  
  16.   




然后进行部署项目  tomcat  然后 启动  
在 浏览器 输入 login页面  进行一系列 表单提交 等  。。。


2.自动装配:


web.xml一样的

struts.xml  没变

类有2个:

[java]  view plain  copy
  1. package cn.happy.struts02;  
  2.   
  3. /** 
  4.  * Created by linlin on 2017/10/22. 
  5.  */  
  6. public class UserInfo {  
  7.     private String name;  
  8.     private String pwd;  
  9.     public String getName() {  
  10.         return name;  
  11.     }  
  12.   
  13.     public void setName(String name) {  
  14.         this.name = name;  
  15.     }  
  16.   
  17.     public String getPwd() {  
  18.         return pwd;  
  19.     }  
  20.   
  21.     public void setPwd(String pwd) {  
  22.         this.pwd = pwd;  
  23.     }  
  24. }  


[java]  view plain  copy
  1. package cn.happy.struts02;  
  2.   
  3. import com.opensymphony.xwork2.Action;  
  4. import com.opensymphony.xwork2.ModelDriven;  
  5.   
  6. /** 
  7.  * Created by linlin on 2017/10/22. 
  8.  */  
  9. public class UserAction implements Action,ModelDriven {  
  10.     private UserInfo user=new UserInfo();  
  11.   
  12.     public String execute() throws Exception {  
  13.   
  14.         if(user.getName().equals("admin")&&user.getPwd().equals("1")){  
  15.             return SUCCESS;  
  16.         }  
  17.        return INPUT;  
  18.     }  
  19.   
  20.     public UserInfo getUser() {  
  21.         return user;  
  22.     }  
  23.   
  24.     public void setUser(UserInfo user) {  
  25.         this.user = user;  
  26.     }  
  27.   
  28.     public UserInfo getModel() {  
  29.         return user;  
  30.     }  
  31. }  

页面

[java]  view plain  copy
  1. <%@ taglib prefix="s" uri="/struts-tags" %>  
  2. <%--  
  3.   Created by IntelliJ IDEA.  
  4.   User: linlin  
  5.   Date: 2017/10/22  
  6.   Time: 9:22  
  7.   To change this template use File | Settings | File Templates.  
  8. --%>  
  9. <%@ page contentType="text/html;charset=UTF-8" language="java" %>  
  10.   
  11.   
  12.     登录  
  13.   
  14.   
  15. "UserAction" method="post">  
  16.     "user.name" >  
  17.     "user.pwd" >  
  18.     "提交"/>  
  19.   
  20.   
  21.   


3.耦合 解耦方法:

[java]  view plain  copy
  1. package cn.happy.Struts03;  
  2.   
  3. import com.opensymphony.xwork2.Action;  
  4. import com.opensymphony.xwork2.ActionContext;  
  5. import com.opensymphony.xwork2.util.ValueStack;  
  6. import org.apache.struts2.ServletActionContext;  
  7. import org.apache.struts2.interceptor.ServletRequestAware;  
  8. import org.apache.struts2.util.ServletContextAware;  
  9.   
  10. import javax.servlet.ServletContext;  
  11. import javax.servlet.http.HttpServletRequest;  
  12. import javax.servlet.http.HttpSession;  
  13. import java.util.Map;  
  14.   
  15. /** 
  16.  * Created by linlin on 2017/10/22. 
  17.  */  
  18. public class LoginAction implements Action ,ServletRequestAware,ServletContextAware{  
  19.     private HttpServletRequest request;  
  20.     private ServletContext servletContext;  
  21.     public String execute() throws Exception {  
  22.         System.out.println("==============");  
  23.        //  HttpSession session=request.getSession();  
  24.   
  25.      //   HttpSession session = ServletActionContext.getRequest().getSession();  
  26.            // session.setAttribute("username","张三");  
  27.   
  28.        ActionContext context = ActionContext.getContext();  
  29.         Map map = context.getSession();  
  30.         map.put("uname","hhh99");  
  31. //  
  32.       /*  HttpServletRequest request = ServletActionContext.getRequest(); 
  33.         ValueStack vs= (ValueStack)request.getAttribute("struts.valueStack"); 
  34.         vs.push(map);*/  
  35.   
  36.         //放入值栈  
  37. /*        ValueStack valueStack = ActionContext.getContext().getValueStack(); 
  38.         valueStack.push(map);*/  
  39.   
  40.         //servlet  Context  
  41.         ServletContext servletContext = ServletActionContext.getServletContext();  
  42.        // session.setAttribute("unsame","admin");  
  43.         servletContext.setAttribute("userna","Servlet Context 00000000");  
  44.   
  45.             return SUCCESS;  
  46.   
  47.     }  
  48.   
  49.     public void setServletRequest(HttpServletRequest httpServletRequest) {  
  50.         this.request=httpServletRequest;  
  51.     }  
  52.   
  53.     public HttpServletRequest getRequest() {  
  54.         return request;  
  55.     }  
  56.   
  57.     public void setRequest(HttpServletRequest request) {  
  58.         this.request = request;  
  59.     }  
  60.   
  61.     public void setServletContext(ServletContext servletContext111) {  
  62.         this.servletContext = servletContext111;  
  63.     }  
  64. }  

页面:
[java]  view plain  copy
  1. <%@ taglib prefix="s" uri="/struts-tags" %>  
  2. <%--  
  3.   Created by IntelliJ IDEA.  
  4.   User: linlin  
  5.   Date: 2017/10/22  
  6.   Time: 9:22  
  7.   To change this template use File | Settings | File Templates.  
  8. --%>  
  9. <%@ page contentType="text/html;charset=UTF-8" language="java" %>  
  10.   
  11.   
  12.     Success  
  13.   
  14.   
  15. 登录

      
  16. "#session.username"

      
  17. "#session.uname"

      
  18. "uname"

      
  19. "#session.userna"

      
  20.   
  21.  

你可能感兴趣的:(Struts2自动装配(+入门))