JavaWeb框架Struts2.0笔记

262 阅读4分钟
原文链接: blog.csdn.net

第一步:依赖我们所必须要的jar包(当前版本号:2.5.14.1 ):官网下载:struts.apache.org/download.cg…;

依赖最基础的八个包:

commons-fileupload-1.3.3.jar、commons-io-2.5.jar、commons-lang3-3.6.jar、freemarker-2.3.26.jar、 
log4j-api-2.9.1.jar、ognl-3.1.15.jar、struts2-core-2.5.14.1.jar、javassist-3.20.0-GA.jar;

第二步:配置核心拦截器

[html] view plain copy print?
  1. <filter>  
  2.     <!-- Filter的名字 -->  
  3.     <filter-name>struts2</filter-name >  
  4.     <!-- Filter的实现类 struts2.5以前可能有所不同 -->  
  5.     <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter </filter-class>  
  6. </filter>  
  7. <filter-mapping>  
  8.     <filter-name>struts2</filter-name >  
  9.     <!-- 拦截所有的url -->  
  10.     <url-pattern>/*</url-pattern >  
  11. </filter-mapping>  
<filter>
    <!-- Filter的名字 -->
    <filter-name>struts2</filter-name>
    <!-- Filter的实现类 struts2.5以前可能有所不同 -->
    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <!-- 拦截所有的url -->
    <url-pattern>/*</url-pattern>
</filter-mapping>


第三步:创佳我们需要的Action

[java] view plain copy print?
  1. public class AbnerAction extends ActionSupport{  
  2. @Override  
  3. public String execute() throws Exception {  
  4. return SUCCESS;  
  5. }  
  6. }  
public class AbnerAction extends ActionSupport{
@Override
public String execute() throws Exception {
return SUCCESS;
}
}


第四步:配置struts.xml;在src下进行创建该文件:


[html] view plain copy print?
  1. <?xml version="1.0" encoding= "UTF-8"?>  
  2.   <!DOCTYPE struts PUBLIC  
  3.         "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"  
  4.         "http://struts.apache.org/dtds/struts-2.5.dtd">  
  5.     <struts>  
  6.         <package name="default"  namespace="/" extends="struts-default">  
  7.         <!-- name action的名字,访问时使用helloworld.action访问,class:实现类 -->  
  8.         <action name="abner"  class="com.abner.ming.AbnerAction">  
  9.             <!-- 结果集,即action中SUCCESS返回的视图 -->  
  10.             <result>  
  11.             /index.jsp  
  12.             </result>  
  13.         </action>  
  14. <action name="service" class= "com.abner.ming.ServiceAction">  
  15.             <!-- 结果集,即action中SUCCESS返回的视图 -->  
  16.             <result name= "success">/service.jsp</result>  
  17.         </action>  
  18.         </package>  
  19.     </struts>  
<?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
    <struts>
        <package name="default" namespace="/" extends="struts-default">
        <!-- name action的名字,访问时使用helloworld.action访问,class:实现类 -->
        <action name="abner" class="com.abner.ming.AbnerAction">
            <!-- 结果集,即action中SUCCESS返回的视图 -->
            <result>
            /index.jsp
            </result>
        </action>
<action name="service" class="com.abner.ming.ServiceAction">
            <!-- 结果集,即action中SUCCESS返回的视图 -->
            <result name="success">/service.jsp</result>
        </action>
        </package>
    </struts>


创建好之后,在浏览器我们输入:http://lenovo-pc:8080/AbnerMing/abner,我们就会进入到index.jsp下:在同一包下我们
可以追加多个Action。


在上面基础之上实现一个登陆:


index.jsp:


[html] view plain copy print?
  1. <body>  
  2.     <form action="service.action"  method="post">  
  3.     <input type="text"  name="abner.username"/><br/>  
  4.     <input type="password"  name="abner.userpass"/><br/>  
  5.     <input type="submit"  value="提交">  
  6.     </form>  
  7.   </body>  
<body>
    <form action="service.action" method="post">
    <input type="text" name="abner.username"/><br/>
    <input type="password" name="abner.userpass"/><br/>
    <input type="submit" value="提交">
    </form>
  </body>

service.jsp:


[html] view plain copy print?
  1. <%@ taglib prefix="s" uri= "/struts-tags"%>  
  2. <body>  
  3.     <s:property value="abner.username" />  
  4.     <s:property value="abner.userpass" />  
  5. </body>  
<%@ taglib prefix="s" uri="/struts-tags"%>
<body>
    <s:property value="abner.username"/>
    <s:property value="abner.userpass"/>
</body>

ServiceAction:


[java] view plain copy print?
  1. public class ServiceAction extends ActionSupport{  
  2. private AbnerBean abner;  
  3.   
  4. public AbnerBean getAbner() {  
  5. return abner;  
  6. }  
  7.   
  8.   
  9. public void setAbner(AbnerBean abner) {  
  10. this.abner = abner;  
  11. }  
  12. @Override  
  13. public String execute() throws Exception {  
  14. return SUCCESS;  
  15. }  
  16. }  
  17.   
  18.   
  19. public class AbnerBean {  
  20. private String username;  
  21. private String userpass;  
  22. public String getUsername() {  
  23. return username;  
  24. }  
  25. public void setUsername(String username) {  
  26. this.username = username;  
  27. }  
  28. public String getUserpass() {  
  29. return userpass;  
  30. }  
  31. public void setUserpass(String userpass) {  
  32. this.userpass = userpass;  
  33. }  
  34. }  
public class ServiceAction extends ActionSupport{
private AbnerBean abner;

public AbnerBean getAbner() {
return abner;
}


public void setAbner(AbnerBean abner) {
this.abner = abner;
}
@Override
public String execute() throws Exception {
return SUCCESS;
}
}


public class AbnerBean {
private String username;
private String userpass;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpass() {
return userpass;
}
public void setUserpass(String userpass) {
this.userpass = userpass;
}
}

浏览器输入:http://lenovo-pc:8080/AbnerMing/abner,输入用户名或者密码,就会进入到service.jsp,并记录用户名和密
码。