Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17493
  • 博文数量: 21
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 211
  • 用 户 组: 普通用户
  • 注册时间: 2015-12-09 16:47
文章分类

全部博文(21)

文章存档

2017年(1)

2016年(9)

2015年(11)

我的朋友
最近访客

分类: Java

2015-12-11 08:46:18

Struts2是一个免费的开源框架,可以作为核心控制器使用。以下初步介绍一下struts2的使用。
首先,第一步在你工程项目里导入struts2的核心包以及struts2的相关包(包括日志,上传,以及异步的相关包)。
可在struts2官网下载
然后要让strtus2框架能够拦截到你的请求,所以在web.xml配置如下属性

    struts2
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
 
 
   struts2
   /*
   
ps:struts1是以serverlet作为控制的入口的,struts2是以过滤器filter进行取到控制的.
在web.xml配置好了这个,此时就把请求的入口地址给了strut2的StrutsPrepareAndExecuteFilter,接着要让struts2知道你的动作对应的是哪个类,所以要在struts.xml里边配置相关的映射请求
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE struts PUBLIC
  3.  "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
  4.  "">
  5. <struts>
  6.    <!-- 配置文件改了以后不用重新启动 -->
  7.    <constant name="struts.devMode" value="true"/>
  8.    <constant name="struts.custom.i18n.resources" value="mess"/>
  9.  <!-- <include file=""></include> -->
  10. <!-- <include file="struts/struts-person.xml"></include> -->
  11.  <package name="action.hufei22" extends="struts-default">
  12.   <action name="loginAction" class="action.LoginAction">
  13.    <result name="success">
  14.      /login.jsp
  15.    </result>
  16.   </action>
  17.  </package>
  18. </struts>

 Action处理类可以继承ActionSupport也可以实现Action的接口,本文是继承了ActionSupport。代码如下

点击(此处)折叠或打开

  1. package action;

  2. import javax.servlet.http.HttpServletRequest;

  3. import org.apache.struts2.StrutsStatics;

  4. import com.opensymphony.xwork2.ActionContext;
  5. import com.opensymphony.xwork2.ActionSupport;

  6. public class LoginAction extends ActionSupport {
  7.     private ActionContext actionContext;
  8.     
  9.     
  10.     public ActionContext getActionContext() {
  11.         return actionContext;
  12.     }


  13.     public void setActionContext(ActionContext actionContext) {
  14.         this.actionContext = actionContext;
  15.     }


  16.     private String userName;
  17.     /**
  18.      *
  19.      */
  20.     private String passwrod;
  21.     
  22.     
  23.     public String getUserName() {
  24.         return userName;
  25.     }


  26.     public void setUserName(String userName) {
  27.         this.userName = userName;
  28.     }


  29.     public String getPasswrod() {
  30.         return passwrod;
  31.     }


  32.     public void setPasswrod(String passwrod) {
  33.         this.passwrod = passwrod;
  34.     }


  35.     @Override
  36.     public String execute() throws Exception {
  37.         ActionContext act = ActionContext.getContext();


  38.         //String ss=act.getParameters().get("userName").toString();

  39.         //System.out.printf(ss+"\n");

  40.         //act.getParameters("userName");

  41.         System.out.printf(getUserName());
  42.         System.out.printf(getPasswrod());
  43.         return "success";
  44.         //return super.execute();

  45.     }
  46. }
对应的是请求页面

点击(此处)折叠或打开

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2.     pageEncoding="UTF-8"%>
  3. <%@taglib prefix="s" uri="/struts-tags"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>Insert title here</title>
  9. </head>
  10. <body>
  11. <s:form action="loginAction">
  12.  <input name="userName" type="text"/>
  13.  <%-- <s:textfield name="userName">
  14.   </s:textfield>
  15.   <s:textfield name="passwrod">
  16.   </s:textfield>
  17.    --%>
  18. <input name="passwrod" type="text"/>
  19.   <input type="submit" value="提交"/>
  20.   <%-- <s:submit name="submit"></s:submit>
  21.  --%>
  22. </s:form>
  23. </body>
  24. </html>
ps:Action类中的变量应该和页面的变量名是相同的,而且必须提供get和set方法。
阅读(153) | 评论(0) | 转发(0) |
1

上一篇:没有了

下一篇:hibernate的初步使用

给主人留下些什么吧!~~