`

struts2初探--简单配制

    博客分类:
  • java
阅读更多
第一,在web.xml中添加配制
	<filter>
		<!-- 定义核心 Filter 名字 -->
		<filter-name>Struts 2</filter-name>
		<!-- 定义核心 Filter 的实现类 -->
		<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	</filter>
	
	<!-- FilterDispatcher 用来初始化 Struts 2 并且处理所有请求 -->
	<filter-mapping>
		<filter-name>Struts 2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

添加到web-app中

第二,添加struts2配制
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<!-- 指定全局国际化资源文件base名 -->
	<constant name="struts.custom.i18n.resources" value="messageResource"></constant>
	<!-- 指定国际化编码所使用的字符集 -->
	<constant name="struts.i18n.encoding" value="utf-8"></constant>
	<!-- 指定需要Struts2处理的请求后缀,默认值是action,也可配制多个,用","分开 -->
	<constant name="struts.action.extension" value="do"></constant>
	<!-- 指定是否允许在Struts2中使用表达式语法,默认是true -->
	<constant name="struts.tag.altSyntax" value="true"></constant>
	<!-- 指定是否使用开发模式,默认为false,设置true时,可在应用出错时显示更多更友好的出错信息,通常开发设置true,产品发布后设置false -->
	<constant name="struts.devMode" value="true"></constant>
	<!-- 指定是否每次HTTP请求时都重新加载资源文件,默认为false,设置true时,通常开发设置true,产品发布后设置false,但不知道为什么,设置一直都不成功 -->
	<constant name="struts.i18n.reload" value="true"></constant> 
	<!-- 指定struts.xml文件改变后是否自动重新加载该文件,默认为false,设置true时,通常开发设置true,产品发布后设置false -->
	<constant name="struts.configuration.xml.reload" value="true"></constant>



	<!--
	   定义包,每个Action都必须定义在包内,且包与包可以进行继承,继承后父包中所有的Action 
	   name 包名,唯一标识附
	   extends 继承,需要继承包的name属性,如无自己手动定义的包,哪么必须要继承struts-default包
	   namespace 命名空间,访问时的命名空间名,以“/”开头
	  -->
<package name="semcolon" extends="struts-default" namespace="/login">
		
		<!-- 定义Action
		   name Action名,同时也是Action访问路径的前缀
		   class 实现Action的java类
		  -->
		<action name="loginAction" class="semcolon.login.action.LoginAction">
			<!-- Action返回路径,如不设置name属性,将默认为success,路径为全路径 -->
			<result name="login">/WEB-INF/jsp/login/login.jsp</result>
			<result>/WEB-INF/jsp/comm/main.jsp</result>
		</action>
		
	</package>
	
</struts>



第三,实现Action类
package semcolon.login.action;

import semcolon.bean.UserBean;
import semcolon.comm.action.BaseAction;
import semcolon.comm.constants.ExceptionInfo;

public class LoginAction extends ActionSupport{
	// 用户信息Bean
	private UserBean user = null;

	public UserBean getUser() {
		return user;
	}

	public void setUser(UserBean user) {
		this.user = user;
	}

	// 定义处理用户请求的execuit方法
	public String execute() throws Exception {
	
		if (getUser().getUsername().equals("semcolon")
				&& getUser().getPassword().equals("123")) {
			
			return SUCCESS;
		}
		
		return LOGIN;
	}

}


继承ActionSupport类,且实现execute方法就可以了

最后为两个JSP页面
login.jsp
<%@ 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" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>login</title>
</head>
<body>
<s:form action="loginAction.do" method="post" >
	<s:textfield name="user.username" label="姓名"/>  <br>
	<s:textfield name="user.password" label="密码"/>
	<s:submit/>
</s:form>
</body>
</html>


OK,差不多了,写的很简单,主要是给以后自己备查用
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics