Struts1框架是apache公司的开源子项目,是基于mvc逻辑分层的web层框架实现。是出现最早的web层框架,应用最广发。Struts1框架重点关注的是控制层,对于视图层只是提供了大量的标签;对于model层的影响微乎其微。
本文也是本人初学struts情况下写的,如有不足之外还希望能给我一点指点。

好了,下面就直接说使用实例吧。
1 Java的基本运行环境,就不多说了,我这里用的IDE是Eclipse Java EE IDE for Web Developers,Mars Release (4.5.0)。
2 因为本例中创建的是web项目,应用的运行需要安装好tomcat,并将其配置到eclipse中Server去。
配置过程是Window->Preference->Server->Server Runtime Environment->Add->选择tomcat版本->next->Browse(选择tomcat的安装路径)->Finished.
3 创建新项目




4 因为使用的不是Maven工程,所以需要的依赖需要自己手动导入,这里使用的struts的版本是struts-1.3.10,所用的jar包可以直接从官网上下载。
5 导入依赖,把需要加入的jar包拷进WebContent/WEB-INF/lib下,并项目Properties->Java Build Path->Add External Jar.

鉴于是初学,为避免不必要的麻烦,所以所有的jar都添加到项目的Build Path中去。
6 在WebContent下的WEB-INF下创建配置文件web.xml,struts_config.xml,其中web.xml可能会已存在,可以不必再次创建。
7 创建LoginForm,继承自ActionForm

package com.peace;import org.apache.struts.action.ActionForm;public class LoginForm extends ActionForm {private String userName = null;private String passWord = null;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;}}

8 创建LoginAction,继承自Action,并重写Action的exectue方法

package com.peace;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 LoginAction extends Action {@Overridepublic ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception {// TODO Auto-generated method stubreturn super.execute(mapping, form, request, response);}}

上面的代码目前什么都没做,之后会修改其中的execute()方法的实现
9 修改配置文件web.xml和struts_config.xml.

<?xml version="1.0" encoding="UTF-8"?>
<web-app  version="2.5"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/javaee     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">   <!-- 配置ActionServlet --><servlet>     <servlet-name>action</servlet-name>     <servlet-class>org.apache.struts.action.ActionServlet</servlet-class><!-- 指定struts配置文件 --><init-param>     <param-name>config</param-name>     <param-value>/WEB-INF/struts_config.xml</param-value>     </init-param>  <!-- 最先运行 --><load-on-startup>0</load-on-startup>  </servlet><!-- 指定ActionServlet可以处理哪些URL  --><servlet-mapping>     <servlet-name>action</servlet-name>     <url-pattern>*.do</url-pattern>     </servlet-mapping>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config><form-beans><form-bean name="loginForm" type="com.peace.LoginForm"></form-bean></form-beans><action-mappings><action path="/login" type="com.peace.LoginAction" name="loginForm"><forward name="loginSuccessed" path="/loginSuccessed.jsp"/><forward name="loginFialed" path="/loginFailed.jsp"/></action></action-mappings>
</struts-config>

10 修改LoginAction中的exectue()方法

package com.peace;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 LoginAction extends Action {@Overridepublic ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception {// TODO Auto-generated method stubLoginForm loginForm = (LoginForm) form;if(loginForm.getUserName().equals("test") && loginForm.getPassWord().equals("123")) {return mapping.findForward("loginSuccessed");} else {return mapping.findForward("loginFailed");}}}

11 添加3个简单的jsp页面,实现测试
login.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="<%= request.getContextPath() %>/login.do" method="post">UserName:<input type="text" name="userName"><br>PassWord:<input type="password" name="passWord"><br><input type="submit" value="Login">
</form>
</body>
</html>

loginSuccessed.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Login Successed!
</body>
</html>

loginFailed.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Login failed!!!
</body>
</html>

12 运行, 右键Run as->Run On Server


13 测试结果

总结:(抄个图说明一下struts的工作原理)

Struts1.x使用入门相关推荐

  1. java管理从程序员到CTO的Java技术路线图

    查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 在技巧方面无论我们怎么学习,总感觉需要晋升自已不知道自己处于什么水平了.但如果有清晰的指示图 ...

  2. Java程序员职业生涯规划完整版:从程序员到CTO

    查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 在技巧方面无论我们怎么学习,总感觉需要晋升自已不知道自己处于什么水平了.但如果有清晰的指示图 ...

  3. Java程序员职业生涯规划完整版:从程序员到CTO( 摘)

    原文链接:https://blog.csdn.net/chunyufeiyun/article/details/11394575 查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的, ...

  4. struts1基础入门

    1.struts1工作原理 a> 初始化: struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配 ...

  5. struts1.x心得1--struts入门介绍

    1.讲解struts1主要介绍的内容 2.为什么使用struts 3.进一步介绍框架概念和struts概念 Framework:框架 layer:层,阶层:地层 flexible:活的:柔韧的 Rso ...

  6. Struts2入门这一篇就够了

    前言 这是Strtus的开山篇,主要是引入struts框架...为什么要引入struts,引入struts的好处是什么,以及对Struts2一个简单的入门.... 为什么要引入struts? 既然Se ...

  7. java struts2 框架 入门简介

    目录 一.Struts2框架执行流程 二.Struts2的快速入门 1.导入jar包 2.配置web.xml文件 3.配置struts.xml文件 4.创建Action来完成逻辑操作 三.Struts ...

  8. struts2教程--快速入门

    Struts2框架介绍 1.三大框架 : 是企业主流 JavaEE开发的一套架构 Struts2 + Spring + Hibernate 2. 什么是框架?为什么要学框架 ? 框架 是 实现部分功能 ...

  9. Spring-MVC入门(一):入门实例

    引言 1.MVC :Model-View-Control 框架性质的C 层要完成的主要工作:封装web 请求为一个数据对象.调用业务逻辑层来处理数据对象.返回处理数据结果及相应的视图给用户. 2. 简 ...

  10. Play Framework入门引导

    偶然看到这篇文章,写的不错,拿来分享一下. 版权所有©转载必须以链接形式注明作者和原始出处 原文地址:http://freewind.me/blog/20120728/965.html ======= ...

最新文章

  1. C语言之typedef详解
  2. 软件工程 之 动物世界
  3. Windows安装配置tidevice
  4. Vue之vue-cli安装与简单调试
  5. MySQL修改数据表名
  6. rust go java 性能_Java,Go和Rust之间的比较 - Dexter
  7. 深入理解Oracle的并行操作
  8. 浅议gRPC的数据传输机制和回调机制
  9. 《人月神话》读后感一
  10. [DJANGO] excel十几万行数据快速导入数据库研究
  11. 03K个数或第k个数算法
  12. stc8a循迹小车程序编写实验:完成循迹功能,包括直角转弯,以及调头
  13. 计算机航嘉快捷启动键,win7 u盘启动快捷键是什么
  14. 计算机中的工作流程,计算机工作流程
  15. 使用JS快速读取TXT文件
  16. 1px dotted 在IE6下不支持
  17. 软件测试基础理论学习和小案例(一)
  18. 二叉树--二叉平衡树
  19. 【golang学习总结】10 golang中map用法
  20. Linux_centos版初学(基础命令)

热门文章

  1. vb 运行错误429 mysql_运行时错误429 ActiveX部件不能创建对象的终极解决方法
  2. 什么是serialVersionUID?serialVersionUID详解
  3. MySQL官方提供的日志分析工具_MySQL 日志分析的几款工具-Fun言
  4. 联想android手机驱动,Lenovo联想手机驱动
  5. MyEclipse10破解,亲测实用
  6. 初探机器学习之使用讯飞TTS服务实现在线语音合成
  7. 约瑟夫问题 c语言数组,约瑟夫问题的数组实现
  8. linux 迅雷 命令行,Linux小迅雷:uGet下载工具加速 | 薄荷开源网
  9. 英雄连2一直显示连接relic服务器,英雄连2联机时出现PleaseWait问题的解决方法_英雄连2PleaseWait问题的解决方法_牛游戏网...
  10. 网络工程师知识-盘点网工调试工具常用console线汇总