在下载的struts1.1目录中有简单的例子struts-blank,拷贝其中jar, web.xml, struts-config.xml文件到自己的项目中并简单修改,就成了一个简单的struts1.1项目
工程的目录结构以及所需jar包:
1.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" 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>struts1_103</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <display-name>Struts Blank Application</display-name> <!-- Standard Action Servlet Configuration (with debugging) --> <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/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>2</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- Standard Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- The Usual Welcome File List --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
2.struts-config.xml中的内容修改后如下:
<?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="userform" type="com.hsp.form.UserForm"/> </form-beans> <action-mappings> <action path="/login" type="com.hsp.action.LoginAction" name="userform" /> </action-mappings> </struts-config>
3.index.jsp的内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <!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>Insert title here</title> </head> <body> <html:form action="login"> 用户名:<html:text property="username" /><br/> 密码:<html:text property="password" /><br/> <html:submit value="submit" /> </html:form> </body> </html>
4.LoginAction 继承Action类
package com.hsp.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.hsp.form.UserForm; public class LoginAction extends Action{ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { UserForm userForm = (UserForm)form; String username = userForm.getUsername(); String password = userForm.getPassword(); System.out.println("username :" + username); System.out.println("username :" + password); return super.execute(mapping, form, request, response); } }
5.userForm 继承 ActionForm类
package com.hsp.form; import org.apache.struts.action.ActionForm; public class UserForm 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; } }
6.发布项目 后 访问:http://localhost:8080/struts1_103/ 会进入index.jsp页面,如下:
7.输入用户名:高伟刚, 密码:gaoweigang,控制台会打印出 用户名及密码
相关推荐
选择“File” > “New” > “Dynamic Web Project”,填写项目名,例如“Struts1HelloWorld”,然后点击“Next”。 2. 在“Target Runtime”选项中,选择你的服务器环境(如Tomcat),然后点击“Finish”。 **步骤...
"HelloWorld"是学习任何新技术时的入门示例,Struts2也不例外。这个例子通常帮助开发者了解如何在Struts2框架下设置基本的配置并展示一个简单的页面。 首先,我们需要理解Struts2的核心组件。`struts2-core-2.2.1.1...
当用户访问/test/helloworld时,Struts2将调用该Action,如果执行成功,将会显示/WEB-INF/page/hello.jsp页面。 Struts2的其他重要特性还包括: 1. 动态方法调用:允许通过URL直接调用Action类的方法。 2. ...
<action name="helloWorld" class="com.example.HelloWorldAction"> <result name="success">/WEB-INF/content/hello.jsp </struts> ``` #### 三、Struts2 实战操作 **3.1 构建 Struts2 工程** - **步骤**...
<action name="helloworld" class="cn.struts2.action.HelloWorldAction"> <result name="success">/WEB-INF/page/hello.jsp </struts> ``` 在这个配置中,定义了一个名为“struts2”的包,具有/test的命名...
### Struts学习心得详解 #### 一、环境搭建与配置 ...通过以上步骤,完成了Struts框架的集成和HelloWorld示例的实现,这是Struts框架学习的入门案例,对于理解MVC模式和Struts的工作原理非常有帮助。
**1.1 为什么要用Struts2** 在探讨为何使用Struts2之前,我们先简要回顾一下Struts2的一些基本特点: - **模块化设计**:Struts2采用模块化的架构设计,使得各个组件易于替换和扩展。 - **支持多种视图技术**:...
<package name="helloworld" extends="struts-default"> <action name="helloWordAction" class="com.struts.action.HelloWordAction"> <result name="success">/WEB-INF/content/helloworld.jsp </struts> `...
创建一个简单的Struts2应用,通常从HelloWorld开始。首先,创建一个Action类,然后在`struts.xml`中配置Action和结果页面。当用户请求时,Struts2框架会调用Action,执行业务逻辑,并根据结果跳转到相应的视图页面。...
例如,你可以定义一个简单的Hello World Action如下: ```xml <package name="default" namespace="/" extends="struts-default"> <action name="hello" class="com.yourcompany.HelloWorldAction"> ...
例如,如果执行方法返回"success",那么Struts2会寻找与之匹配的结果,如在当前包内定义的"success"结果,这可能会指向一个名为“helloWorld.ftl”或“helloWorld.jsp”的模板文件。 总结来说,Struts2是一个强大的...
2.2.2 探索HelloWorld应用程序 24 2.3 使用注解的HelloWorld 31 2.4 小结 33 第二部分 核心概念:动作、拦截器和类型转换 第3章 使用Struts 2动作 36 3.1 Struts 2动作简介 36 3.2 打包动作 39 3.2.1 Struts 2公文...
<param name="actionName">HelloWorld <param name="namespace">/example ``` **1.2 struts.properties配置文件解析** 除了`struts.xml`文件之外,Struts2还支持通过`struts.properties`文件来配置框架的行为...
<result name="success">/WEB-INF/helloworld.jsp ``` 这里定义了一个名为`helloWorld`的Action,其对应的类是`com.example.HelloWorldAction`,成功处理请求后返回名为`success`的结果,对应的视图是`helloworld...
- **国际化HelloWorld**:演示如何实现多语言的支持。 - **加载资源文件的方式**:可以通过不同的方式加载国际化资源文件。 - **加载资源文件的顺序**:配置资源文件的加载顺序。 - **允许用户自行选择程序语言**:...
- 动态方法调用需要在请求URL中明确指定方法名,例如`/hello/add`会调用`HelloWorld`类中的`add`方法。 #### 五、总结 以上三种配置方式分别适用于不同场景的需求: 1. **直接配置**:适合简单场景,每个Action...