Struts2的简单配置

使用struts2时需要注意Struts2的版本问题,这里使用的是Struts2 2.3版本

开发一个简单的Struts2应用: 开发一个Struts2应用需要有: 1.web.xml的配置; 2.struts.xml的配置; 3.导入Struts2所需要的jar包;

1.web.xml文件的配置:
    在web.xml文件中写下如下配置信息:(配置核心Filter)
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    2.配置struts.xml文件

        <constant name="struts.enable.DynamicMethodInvocation" value="false"/>
        <constant name="struts.devMode" value="true'/>

        <package name="Demo" namespace="/" extends="struts-default">
            <action name="*">
                <result>/WEB-INF/content/{1}.jsp</result>  //注:在WEB-INF目录下创建一个content文件夹,把jsp文件放入这个文件夹中
            </action>
        </package>

        代码:
            <action name="*">
                <result>/WEB-INF/content/{1}.jsp</result>  
            </action>
            name="*" 和<result>/WEB-INF/content/{1}.jsp</result>  
            表示:对任意的请求,将直接呈现/WEB-INF/content/下同名的jsp文件

    3.导入Struts2所需需要的jar包

    这里,就可以在web应用里面使用Struts的基本功能了;

    之后,可以进行简单的Struts2的应用;

    在WEB-INF/content目录下写一个JSP代码
    loginForm.jsp:

<%@ page language="java" contentType="text/html; charset=GBK"%> <%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html> <head> <title><s:text name="loginPage"/></title> </head> <body> <s:form action="login"> <s:textfield name="username" key="user"/> <s:textfield name="password" key="pass"/> <s:submit key="login"/> </s:form> </body> </html>

在此之前需要进行国际化,配置Struts2的国际化;

在原来的Struts2配置文键struts.xml中加入下面的配置信息:

<constant name="struts.custom.i18n.resources" value="mess"/>

mess.properties配置文件如下: loginPage=登录页面 errorPage=错误页面 succPage=成功登录 failTip=对不起,您不能登录! succTip=欢迎,{0},您已经成功登录! user=用户名 pass=密 码 login=登录

使用native2ascii工具国际化资源文件才可以使用;

为防止乱码,可以这样:

native2ascii -encoding UTF-8 mess.properties a.properties 之后吧原来的mess.properties删除,把a.properties文件改名为mess.properties

在浏览器输入:http://localhost:8080/Struts2Demo/loginForm 可以看见登录页面;(注:不能输入loginForm.jsp)

接下来处理form表单提交的action;

form表单指定提交的action为login,所以需要定义一个Struts2的Action,类名为LoginAction.java 代码如下:

package Demo;

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

public class LoginAction extends ActionSupport{ private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }

[@Override](https://my.oschina.net/u/1162528)
public String execute() throws Exception {
	if(getUsername().equals("123")&&getPassword().equals("123")){
		ActionContext.getContext().getSession().put("user", getUsername());
		return SUCCESS;
	}
	return ERROR;
}

}

在为表单提供一个错误页面和登录成功页面error.jsp和welcome.jsp

error.jsp

<%@ page language="java" contentType="text/html; charset=GBk"%> <%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html> <head> <title><s:text name="errorPage"/></title> </head> <body> <s:text name="failTip"/> </body> </html>

welcome.jsp

<%@ page language="java" contentType="text/html; charset=GBk"%> <%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html> <head> <title><s:text name="succPage"/></title> </head> <body> <s:text name="succTip"> <s:param>${sessionScope.user}</s:param> </s:text> </body> </html>

之后再为表单提供Struts的配置:struts.xml中加入下面的配置信息:

<action name="login" class="Demo.LoginAction"> <result name="success">/WEB-INF/content/welcome.jsp</result> <result name="error">/WEB-INF/content/error.jsp</result>

</action>

这样,Struts2的简单应用就完成了;

转载于:https://my.oschina.net/tyILOVE/blog/880165

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值