Struts2_01_使用流程

一、Struts


1.到官网下载struts2的jar包,将需要使用到的导入web工程。

   struts2必须导入的常用的五个jar包:

xwork-2.0.4.jar ;
struts2-core-2.0.11.1.jar ;
freemarker-2.3.8.jar;
ognl-2.6.11.jar;
commons-logging-api-1.1.jar。
 

这几个文件是使用struts2时必须导入的,这是我使用时的版本,可能现在版本有所更新。你可以去她的官方网站下载。

2.在web.xml中配置FilterDispatcher

struts2通过过滤器来替代struts1.x中的actionServlet配置。在web.xml中的配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <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>
</web-app>
 

3.开发Model层业务逻辑

public class LoginService {
	public boolean login(String cutname,String pwd){
		if(cutname.equals("zhangsan")&&pwd.equals("123")){
			return true;
		}else{
			return false;
		}
	}
}

4.开发Action类,调用业务逻辑,返回结果视图。

package com.struts.action;
import com.struts.service.LoginService;

public class LoginAction {
	private String custname;
	private String pwd;
	public String getCustname() {
		return custname;
	}
	public void setCustname(String custname) {
		this.custname = custname;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	
	public String execute(){
		LoginService ls = new LoginService();
		boolean flag = ls.login(custname, pwd);
		if(flag){
			return "success";
		}else{
			return "fail";
		}
	}
}
 

5.在struts.xml中配置Action类。

struts2的主配置文件使用struts.xml,它必须放在classes目录下,在MyEclipse中的就是src下。配置如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC 
	"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" 
	"http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>
<package name="user"   extends="struts-default">
	<action name="Login" class="com.struts.action.LoginAction" >
		<result name="success" >/welcome.jsp</result>
		<result name="fail">/login.jsp</result>
	</action>
</package>
</struts>  
 

<package>标签说明:

        name="struts"  是为<package>起的名字,可任意,建议容易标识;

        extends="struts-default" 每个包都应继承sturts-default这个包,这是默认的包。struts2在此包中定义的很多我们要使用的功能。

 <action>标签说明:

       name="页面请求的action名",相当于struts1.x中的path属性的设置

          class是指明类路径;

 <result>标签说明:

       name="action中返回的字符串"。在struts2中,action返回的是一个字符串。<result>/页面< /result>表示当action返回的值与name的值相同时,则跳转到指定的页面。默认为name="success",可不写;如果 name="input",则是返回的错误处理页面,相当于struts1.x中的input属性设置。

6.开发视图文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>index starting page</title>
  </head>
  
  <body>
    <s:form action="Login">
    	<s:textfield name="custname" label="用户名"></s:textfield><br>
    	<s:password name="pwd" label="密 码"></s:password><br>
    	<s:submit value="Login"></s:submit>
    </s:form>
  </body>
</html>

欢迎页面将显示登录用户的用户名,使用EL显示请求参数的值。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
        <title>welcome page</title>
  </head>
  <body>
    Welcome,${param.custname }
  </body>
</html>

猜你喜欢

转载自liang2431.iteye.com/blog/1662331