`

快乐编程-知识分享-Struts1.x学习-1.3开始-002

阅读更多

目标:运行第二个struts1.x程序(struts1.3)

对象:适合自学者、初学者、兴趣爱好者。

说明:确保案例代码完整可运行

建议:初学框架,最好用Eclipse(无框架插件),秒杀MyEclipse(有框架插件),框架插件是把双刃剑,优点:入门上手快,代码生产率高,缺点:入门不利于理解框架流程和思路,IDE工具依赖性强。

理念:先行动(Coding),后理解(Thinking)在最短的时间内采取最大量的Coding分享越多,收获越大

--------------------------------------------------------------------------------------------------------------------------------

工程截图:


 一、导入相关包,具体如下截图(struts1.3 lib)

二、配置工程web.xml文件

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

	<servlet>
		<servlet-name>action</servlet-name>
		<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
		<init-param>
			<param-name>config</param-name>
			<param-value>/WEB-INF/config/struts/strutsConfig.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>2</param-value>
		</init-param>
		<load-on-startup>2</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>action</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

 

 三、编写LoginForm.java类

package com.raky.train.login;

import org.apache.struts.action.ActionForm;
/**
 * struts1.x ActionForm
 * @author raky
 * @version v1.0
 * 
 */
public class LoginForm extends ActionForm {
	
	private static final long serialVersionUID = -1162759977230749682L;
	
	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;
	}
}

 

 四、编写LoginAction.java类

package com.raky.train.login;

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

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

/**
 * struts1.x LoginAction
 * 
 * @author raky
 * @version v1.0
 * 
 */
public class LoginAction extends DispatchAction {

	public ActionForward login(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {

		ActionForward forward = null;
		LoginForm loginForm = (LoginForm) form;

		if (loginForm.getUsername().equals("admin")
				&& loginForm.getPassword().equals("admin")) {
			forward = mapping.findForward("success");
			request.setAttribute("loginForm", loginForm);
		} else {
			forward = mapping.findForward("failure");
		}
		return forward;
	}
}

 

五、配置strutsConfig.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
	<!-- =================== Form Bean Definitions ==================== -->
	<form-beans>
		<form-bean name="loginForm" type="com.raky.train.login.LoginForm" />
	</form-beans>
	<!-- =================== Action Definitions ==================== -->
	<action-mappings>
		<action path="/raky/train/login" name="loginForm"
			type="com.raky.train.login.LoginAction" parameter="method" scope="request"
			validate="false">			
			<forward name="success" path="/raky/train/login/success.jsp" />
			<forward name="failure" path="/raky/train/login/failure.jsp" />
		</action>
	</action-mappings>
</struts-config>

 

六、 编写主页面(index.jsp) 

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>index page</title>
</head>
<body>
<jsp:forward page="/raky/train/login/login.jsp"  />
</body>
</html>

 

七、 编写登录页面(login.jsp) 

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib uri="http://struts.apache.org/tags-html-el" prefix="html-el" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Raky train struts1.3 - start - Login page</title>
</head>
<body>
<h2>raky - struts1.3 - start</h2>
<html-el:form action="/raky/train/login" method="post" onsubmit="return check();">
<html-el:hidden property="method" value="login" />
<table>
	<tr>
		<td>用     户:</td>
		<td><html-el:text styleId="username" property="username"  maxlength="40" size="18" /></td>
	</tr>
	<tr>
		<td>密     码:</td>
		<td><html-el:password styleId="password" property="password"  maxlength="40" size="18" /></td>		
	</tr>
	<tr>
		<td align="center" colspan="2">
			<html-el:submit property="submitValue" >确定</html-el:submit>
			<html-el:reset property="resetValue" >重置</html-el:reset>
		</td>	
	</tr>
</table>
</html-el:form>
<script type="text/javascript" language="javascript">
function check(){
	var username = document.getElementById("username").value;
	var password = document.getElementById("password").value;
	if(username == ""){
		alert("用户名不为空!");
		document.forms[0].username.focus();
		return false;
	}
    if(password == ""){   
        alert("密码不能为空!");   
        document.forms[0].password.focus();  
        return false; 
    }	
	return true;
}
</script>
</body>
</html>

 

八、编写登录成功页面(success.jsp)

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Raky train struts1.3 - start - Login success</title>
</head>
<body>
用     户:${loginForm.username}   密     码:${loginForm.password} <a href="javascript:history.back(-1)">返回</a>
</body>
</html>

 

九、编写登录失败页面(failure.jsp)

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Raky train struts1.3 - start - Login failure</title>
</head>
<body>
用户名或密码错误啦。。。 <a href="javascript:history.back(-1)">返回</a>
</body>
</html>

 

总结:本用例程序是struts1.3,注意与之前struts1.2的区别,重点在使用标签库不同,另页面加入了简单的js验证,控制器用了DispatchAction。

  • 大小: 21.8 KB
  • 大小: 6.6 KB
分享到:
评论

相关推荐

    commons-dbcp-1.2.1.jar commons-pool-1.3.jar struts-legacy.jar

    - Struts 1.x版本(如`struts-legacy.jar`暗示的那样)在Java Web开发中曾经非常流行,但随着Struts 2的发布,很多开发者转向了更现代、更灵活的框架,如Spring MVC或Play Framework。 - Struts 1.x的主要组件包括...

    快乐编程-知识分享-Struts1.x学习-1.2入门-001

    Struts1.2入门通常从配置文件开始,如struts-config.xml。这个文件包含了Action、Form Bean、DataSources、Message Resources等配置,是整个应用的核心配置。了解如何配置ActionMapping、FormBean和Result是入门的...

    struts2-core.jar

    struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...

    对struts1.x与struts2.x的区别的总结

    - **Struts1.x** 配置文件多,包括struts-config.xml、web.xml等,配置繁琐。 - **Struts2.x** 配置文件较少,主要为struts.xml,支持注解配置,减少XML配置的繁琐。 8. **插件与扩展性**: - **Struts1.x** ...

    struts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jar

    struts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jarstruts2-spring-plugin-2.3.15.2.jar ; struts2-json-plugin-2.3.16.3.jar

    Struts1.x常用的开发包,需要学习struts1.x朋友可以下载

    8. **Exception Handling**:Struts1.x提供了异常处理机制,通过配置struts-config.xml中的全局异常映射,可以捕获并处理运行时异常,提高系统的健壮性。 9. **Plug-in架构**:Struts1.x具有强大的插件扩展能力,...

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    `struts2-json-plugin-2.1.8.1.jar` 则是Struts 2框架的一个插件,主要用于增强Struts 2对JSON的支持。Struts 2是一款非常流行的MVC(Model-View-Controller)框架,用于构建企业级的Java Web应用程序。这个插件允许...

    Struts1.x-Jdbc,学习Struts1.的曾删改查

    通过以上知识点的学习,开发者可以熟练地在Struts1.x框架下利用JDBC进行数据库操作,实现Web应用的增删改查功能。在实际开发中,还需要结合具体项目需求,考虑数据缓存、安全性、可扩展性等因素,以构建高效、稳定的...

    struts1.x技术课程讲解.pdf

    - **学习前提**:为了更好地理解和运用 Struts1.x,学员需要具备一定的技术基础,包括但不限于 JSP/Servlet 的知识、Java 基础、数据库管理和 JDBC 相关技术等。 #### 二、Struts1.x 的工作原理与架构 1. **MVC ...

    spring.jar spring-agent.jar spring-aop.jar spring-beans.jar spring-hibernate3.jar spring-jdbc.jar spring-struts.jar spring-web.jar

    spring.jar spring-aop.jar spring-aop.jar spring-beans.jar spring-hibernate3.jar spring-jdbc.jar spring-struts.jar spring-web.jar

    DWR+jquery2.x+easyUI1.3.x开发富客户端应用

    1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...

    Struts1.x系列教程(网摘-全)

    3. **配置文件**:主要包括struts-config.xml,这是Struts1.x的主配置文件,用于定义Action、ActionForm、ActionMapping等组件。在这里,你可以配置URL与Action类的映射,设置数据验证规则等。 4. **ActionForm**:...

    struts2-core-j4-2.0.11.2.jar

    struts框架 所用到的包 主要用的是MVC框架 不过之中的标签和 struts1.x版本不同,值得我们学习

    Struts2最新漏洞升级2.3.32版本

    1、升级所需要的jar(见附件): freemarker-2.3.22.jar ognl-3.0.19.jar struts2-convention-plugin-2.3.32.jar struts2-core-2.3.32.jar struts2-spring-plugin-2.3.32.jar xwork-core-2.3.32.jar 2、删除...

    Struts2开发常用jar包

    包含struts2-core-2.5.10.1.jar,struts2-jfreechart-plugin-2.5.10.1.jar,struts2-json-plugin-2.5.10.1.jar,struts2-junit-plugin-2.5.10.1.jar,struts2-bean-validation-plugin-2.5.10.1.jar,struts2-cdi-...

    Struts2-3.24集合jar

    struts2-config-browser-plugin-2.3.24.jar, struts2-core-2.3.24.jar, struts2-jasperreports-plugin-2.3.24.jar, struts2-jfreechart-...struts2-struts1-plugin-2.3.24.jar, struts2-tiles-plugin-2.3.24.jar,

    struts1.x apps 所有最新的Struts1.x项目应用

    1. **安装和配置**:了解如何在项目中集成Struts1.x框架,配置web.xml和struts-config.xml文件。 2. **Action和ActionForm**:深入理解这两者的作用,如何编写和使用它们。 3. **视图渲染**:熟悉JSP页面和Struts...

    struts1.3.jar

    3. **配置文件**:`struts-config.xml`是Struts 1.3的主要配置文件,它定义了Action的映射、数据源、以及与视图的关联。在该文件中,你可以设置Action的路径、输入页面、转发和异常处理。 4. **标签库**:Struts ...

    struts1.x入门教程

    - 首先,你需要下载Struts1.x的库文件,如struts-1.3.10-all.zip,并将其解压缩。 - 在解压后的lib目录中,你可以找到所有必需的jar文件,包括Struts框架的实现和其他依赖。 - 创建一个新的Web项目,例如myStruts...

    struts-taglib-1.3.10.jar struts-taglib.jar taglib.jar

    struts-taglib-1.3.10.jar struts-taglib.jar taglib.jar

Global site tag (gtag.js) - Google Analytics