最近公司内部要搞一个SSH培训,而且Struts选的是1,而不是Struts2。由于版权的原因,不能使用收费的MyEclipse,而要使用开源免费的eclipse,网上现在基本都是Struts2的文章,所以把最近学习的过程记录一下,以备以后查阅!
准备环境
JDK:1.6+(其实1.7也没有问题)
Tomcat: apache-tomcat-6.0.33 (其实7.x也没有问题)
eclipse: eclipse-jee-juno-SR2-win32-x86_64.zip
Step1:
安装JDK;
Step2:
解压eclipse;如果JDK是绿色版的,在eclipse需要配置JRE(eclipse->Window->Preference->Java->Installed JREs,点击右边的【Add】,然后指定绿色版JDK的路径)
Step3:
解压Tomcat,在eclipse中配置此Server;
(eclipse->Window->Preference->Server->Runtimes Environment,点击右边的【Add】,然后指定Tomcat根目录的路径)
创建新工程
安装下面的步骤创建新工程:
File -> New -> Dynamic Web Project:
Project name: MyStruts01
Target runtime: Apache Tomcat v6.0(默认)
Dynamic web module version: 选 2.5 (这里我们不选默认的3.0)
拷贝jar档到工程的lib文件下(/MyStruts01/WebContent/WEB-INF/lib/)
第一部分(Struts相关):
antlr-2.7.2.jar
commons-beanutils-1.7.0.jar
commons-chain-1.1.jar
commons-digester-1.8.jar
commons-fileupload-1.1.1.jar
commons-io-1.1.jar
commons-logging-1.0.4.jar
commons-validator-1.3.1.jar
struts-core-1.3.8.jar
struts-el-1.3.8.jar
struts-extras-1.3.8.jar
struts-faces-1.3.8.jar
struts-mailreader-dao-1.3.8.jar
struts-scripting-1.3.8.jar
struts-taglib-1.3.8.jar
struts-tiles-1.3.8.jar
第二部分(数据库相关):
mysql-connector-java-5.1.17-bin.jar
创建相关文件
Action文件:
LoginAction.java
Form文件:
LoginForm.java
jsp文件:
login.jsp
success.jsp
failing.jsp
配置文件:
web.xml
struts-config.xml
工程文件结构
代码详细内容如下:
LoginAction.java
package com.coderdream.action; 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; import com.coderdream.form.LoginForm; public class LoginAction extends Action { /** * 处理客户端请求 */ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // 得到客户的的提交数据 LoginForm lf = (LoginForm) form; // 业务调用 if (lf.getUserName().equals("admin") && lf.getPassword().equals("admin")) { // 用户名密码验证成功,跳转到成功页面 return mapping.findForward("success"); } else { // 用户名密码错误,跳转到失败页面 return mapping.findForward("failing"); } } }
LoginForm.java
package com.coderdream.form; import org.apache.struts.action.ActionForm; public class LoginForm extends ActionForm { 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; } }
jsp文件:
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF"> <title>Insert title here</title> </head> <body> <form action="login.do"> <table align="center" border="1"> <tr bgcolor="#CCCCCC"> <th colspan="2">用户登录</th> </tr> <tr> <td>用户名:</td> <td><input type="text" name="userName" /></td> </tr> <tr> <td>密 码:</td> <td><input type="text" name="password" /></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="登录" /> </td> </tr> </table> </form> </body> </html>
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登录成功</title> </head> <body> 用户登录成功! </body> </html>
failing.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登录失败</title> </head> <body> 用户登录失败! </body> </html>
配置文件:
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>MyStruts01</display-name> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app>
struts-config.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-beans> <form-bean name="loginForm" type="com.coderdream.form.LoginForm" /> </form-beans> <action-mappings> <action path="/login" type="com.coderdream.action.LoginAction" name="loginForm" input="login.jsp" scope="request"> <forward name="success" path="/success.jsp" /> <forward name="failing" path="/failing.jsp" /> </action> </action-mappings> </struts-config>
代码说明:
1、Action中通过mapping.findForward("success");跳转,这里的success字符串和struts-config.xml里配置相对应;
2、struts-config.xml的配置都是标准配置,可以参考官方的例子(\struts-1.3.8\apps\struts-cookbook-1.3.8\WEB-INF\struts-config.xml),包括action和forward的配置
运行结果:
输入正确的用户名密码:
登录成功
如果输入错误的用户名密码,则登录失败
源代码和库文件(由于后面的笔记使用相同的jar,所以只在这里上传一次):
相关推荐
总的来说,Struts 1.3.8 学习笔记会引导你掌握如何利用这个框架构建健壮、可维护的 Web 应用。通过学习 Struts 的核心概念、配置方式以及实践案例,你将能够有效地组织和管理应用程序的结构,提升开发效率。
在博客 "Struts 1.3.8 学习笔记(八)" 中,可能涉及到了更深入的主题,如自定义拦截器(PlugIn)、异常处理、文件上传下载、数据库操作集成等。博主可能还分享了如何使用 Struts 工具进行调试、性能优化以及与 ...
总结来说,Struts 1.3.8 学习笔记涵盖的内容广泛,包括框架的组件使用、配置、源码解读以及工具应用。通过这样的学习,开发者能够熟练掌握 Struts 的核心功能,为构建高效、可维护的 Web 应用奠定基础。
Struts 1.3.8 是 Apache ...总之,Struts 1.3.8 学习笔记会涵盖以上诸多方面,旨在帮助开发者掌握这个框架,提升 Web 应用的开发能力。对于初学者来说,理解并熟练运用这些知识点是迈进 Struts 开发世界的关键步骤。
这篇学习笔记主要针对 Struts 1.3.8 版本进行深入探讨,通过讲解其核心概念、工作原理以及实际应用,帮助开发者更好地理解和使用这一框架。 首先,Struts 1.3.8 的主要特点包括: 1. **MVC架构**:Struts 将应用...
这个版本的学习笔记主要集中在 Struts 框架的核心概念、架构和实际应用上。Struts 1 提供了一个MVC(Model-View-Controller)设计模式的实现,帮助开发者组织应用程序的逻辑,提高代码的可维护性和可扩展性。 在...
本学习笔记将聚焦于 Struts 1.3.8 版本中的核心概念、组件以及在实际开发中的应用。 Struts 框架基于 Model-View-Controller (MVC) 设计模式,它简化了应用程序的结构,使得开发者可以更专注于业务逻辑,而不是底层...
这个版本的学习笔记主要涵盖了 Struts 框架的核心概念、架构和实际应用。在这个版本中,Struts 已经相当成熟,提供了一套完整的 MVC(模型-视图-控制器)设计模式的实现,极大地简化了开发流程,提高了代码的可维护...
在本学习笔记中,我们将深入探讨 Struts 1.3.8 的核心概念、功能以及实际应用。Struts 为开发者提供了构建动态 Web 应用程序的结构框架,简化了开发流程,增强了代码的可维护性和可扩展性。 首先,我们来了解 MVC ...
目录 1.1 Spring 框架学习路线:...........................................................................................................................4 1.2 Spring 框架的概述:...........................