Struts实例

      这里是一个Struts的入门实例,使用环境是MyEclipse 6.1和Tomcat 6.12(JDK1.5)。

      为了简单起见,这里没有使用struts的标签库。但如果把这个例子弄懂了,以后使用标签库也是件不难的事情。而对配置文件,这里也用了很多的注释来说明,像我一样刚接触struts的读者,可以先跑动这个例子,然后再详细看看这些注释。

   工程目录结构如下所示:

步骤如下:(1)新建工程struts1test;(2)在WebRoot下创建三个JSP文件register.jsp,success.jsp和fail.jsp;(3)右击Web-INF目录下lib文件夹,导入struts 库文件,本例子需要如下四个jar文件:commons-beanutils.jar、commons-digester.jar、commons-loggin.jar以及commons-struts.jar;(4)配置WEB-INF目录下的web.xml和struts-config.xml文件;(5)创建表单处理类RegisterForm.java和Action处理类RegisterAction.java

详细代码如下:

(1) register.jsp代码

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Register Page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">

  </head>
  
  <body>
   请输入以下个人信息: <br>
   <!-- <form action="register.do" name="uername" method="post" -->
    <html:form action="register.do"  method="post">
    用 户名:<html:text  property="uername"/><br/>
    密   码:   <html:password property="password1" /><br/>
    密码确认:<html:password property="password2" /> <br/>
    邮   箱: <html:text  property="email" /> <br/>
     <html:submit value="提交"/>
     <html:reset     value="重置"/> 
     </html:form>
  </body>
</html>


(2)failure.jsp代码

<%@ page language="java"  pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Failure Page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">

  </head>
  
  <body>
    Sorry,Something error!! <br>
  </body>
</html>


(3) success.jsp代码

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<!-- <jsp:useBean id="registerForm" class="com.struts1.register.RegisterForm" scope="request"/> -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>Success Page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
  </head>
  
  <body> 
    Welcome to Sandy's World! <br>
    <!-- <jsp:getProperty name="registerForm" property="uername" />s --> 
    用户名:<bean:write name="registerForm" property="uername"/><br>
          密码:<bean:write name="registerForm" property="password1"/><br>
          邮箱:<bean:write name="registerForm"  property="email"/> <br>
                        
 <br>
  </body>
</html>


(4)web.xml配置文件

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

	<servlet>
		<servlet-name>action</servlet-name>
		<servlet-class>
			org.apache.struts.action.ActionServlet
		</servlet-class>
		<!--servlet初始化参数,可以有多个init-param -->
		<init-param>
			<param-name>config</param-name>
			<param-value>/WEB-INF/struts-config.xml</param-value>
		</init-param>
		<init-param>
			<param-name>debug</param-name>
			<param-value>2</param-value>
		</init-param>
		<init-param>
			<param-name>detail</param-name>
			<param-value>3</param-value>

		</init-param>
		<load-on-startup>2</load-on-startup>
	</servlet>
	<!-- 配置ActionServlet,将所有的*.do请求提交给action处理 -->
	<servlet-mapping>
		<servlet-name>action</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
	<!--配置过滤器,防止乱码  -->
	<filter>
		<filter-name>myFilter</filter-name>
		<filter-class>com.struts1.filter.EncodingFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>myFilter</filter-name>
		<!-- 设置要过滤的条件 -->
		<url-pattern>*.do</url-pattern>
		<!-- 让当前过滤器支持 <jsp:forward>操作 
			<dispatcher>FORWARD</dispatcher>-->
	</filter-mapping>

	<!-- 配置欢迎页面 -->
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>


(5)struts-config.xml配置文

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
      <form-beans>
      <form-bean name="registerForm" type="com.struts1.register.RegisterForm"></form-bean>
      </form-beans>
      <global-exceptions>
      </global-exceptions>
      
      <action-mappings>
      <action path="/register" type="com.struts1.register.RegisterAction" 
        name="registerForm" scope="request">
        <forward name="success" path="/success.jsp"></forward>
        <forward name="fail" path="/fail.jsp"></forward>
      </action>
      </action-mappings>
      
      
</struts-config>

(6) RegisterForm.java代码

/**
 * This class is used for ...    
 * @author  Sandy
 * @date Aug 6, 2012 1:41:14 PM
 * @version V 1.0
 */
package com.struts1.register;

import org.apache.struts.action.ActionForm;

public class RegisterForm extends ActionForm{

	/**
	 * 
	 */
	private static final long serialVersionUID = 4392381660675967276L;
	private String uername;
	private String password1;
	private String password2;
	private String email;
	public String getUername() {
		return uername;
	}
	public void setUername(String uername) {
		this.uername = uername;
	}

	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public static long getSerialVersionUID() {
		return serialVersionUID;
	}
	public String getPassword1() {
		return password1;
	}
	public void setPassword1(String password1) {
		this.password1 = password1;
	}
	public String getPassword2() {
		return password2;
	}
	public void setPassword2(String password2) {
		this.password2 = password2;
	}

}

(7)RegisterAction.java代码

/**
 * This class is used for ...    
 * @author  Sandy
 * @date Aug 6, 2012 1:43:28 PM
 * @version V 1.0
 */
package com.struts1.register;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class RegisterAction extends Action {
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		RegisterForm  registerForm=(RegisterForm)form;
		String  username= registerForm.getUername();
		String password1= registerForm.getPassword1();
		String password2= registerForm.getPassword2();
		String  email= registerForm.getEmail();
		if((username!=null)&&(username!="")&&(password1!=null)&&(password1!="")
			     &&(password2!=null)&&(password2!="")
			     &&(email!=null)&&(email!="")){
			    if(password1.equals(password2)){
			    	request.setAttribute("registerForm", registerForm);
			     return mapping.findForward("success");
			    }
			   }
              return mapping.findForward("fail");
	}
	

}


 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值