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里边配置相关的映射请求
-
<?xml version="1.0" encoding="UTF-8"?>
-
<!DOCTYPE struts PUBLIC
-
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
-
"">
-
<struts>
-
<!-- 配置文件改了以后不用重新启动 -->
-
<constant name="struts.devMode" value="true"/>
-
<constant name="struts.custom.i18n.resources" value="mess"/>
-
<!-- <include file=""></include> -->
-
<!-- <include file="struts/struts-person.xml"></include> -->
-
<package name="action.hufei22" extends="struts-default">
-
<action name="loginAction" class="action.LoginAction">
-
<result name="success">
-
/login.jsp
-
</result>
-
</action>
-
</package>
-
</struts>
Action处理类可以继承ActionSupport也可以实现Action的接口,本文是继承了ActionSupport。代码如下
-
package action;
-
-
import javax.servlet.http.HttpServletRequest;
-
-
import org.apache.struts2.StrutsStatics;
-
-
import com.opensymphony.xwork2.ActionContext;
-
import com.opensymphony.xwork2.ActionSupport;
-
-
public class LoginAction extends ActionSupport {
-
private ActionContext actionContext;
-
-
-
public ActionContext getActionContext() {
-
return actionContext;
-
}
-
-
-
public void setActionContext(ActionContext actionContext) {
-
this.actionContext = actionContext;
-
}
-
-
-
private String userName;
-
/**
-
*
-
*/
-
private String passwrod;
-
-
-
public String getUserName() {
-
return userName;
-
}
-
-
-
public void setUserName(String userName) {
-
this.userName = userName;
-
}
-
-
-
public String getPasswrod() {
-
return passwrod;
-
}
-
-
-
public void setPasswrod(String passwrod) {
-
this.passwrod = passwrod;
-
}
-
-
-
@Override
-
public String execute() throws Exception {
-
ActionContext act = ActionContext.getContext();
-
-
-
//String ss=act.getParameters().get("userName").toString();
-
-
//System.out.printf(ss+"\n");
-
-
//act.getParameters("userName");
-
-
System.out.printf(getUserName());
-
System.out.printf(getPasswrod());
-
return "success";
-
//return super.execute();
-
-
}
-
}
对应的是请求页面
-
<%@ page language="java" contentType="text/html; charset=UTF-8"
-
pageEncoding="UTF-8"%>
-
<%@taglib prefix="s" uri="/struts-tags"%>
-
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
-
<html>
-
<head>
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
<title>Insert title here</title>
-
</head>
-
<body>
-
<s:form action="loginAction">
-
<input name="userName" type="text"/>
-
<%-- <s:textfield name="userName">
-
</s:textfield>
-
<s:textfield name="passwrod">
-
</s:textfield>
-
--%>
-
<input name="passwrod" type="text"/>
-
<input type="submit" value="提交"/>
-
<%-- <s:submit name="submit"></s:submit>
-
--%>
-
</s:form>
-
</body>
-
</html>
ps
:Action类中的变量应该和页面的变量名是相同的,而且必须提供get和set方法。
阅读(153) | 评论(0) | 转发(0) |