关于Struts的相关介绍,在此就不做详细介绍。由于很多架构上的缺陷,现在很多企业都选择了Struts2,但是很多企业很多老项目需要维护,所以还是很有必要对struts1做些必要的了解,而且对学习struts2有很多好处。
我这里用的是Struts1.3.8。
一、准备工作
1.下载Struts1.3.8
2.安装myEclipse6.0或以上版本
3.在myEclipse下创建web project,我这里定义名称为struts1.3
4.将Struts1.3.8解压,将lib目录下的jar包拷到工程WebRoot--WEB-INF--lib目录下
二、安步骤开始 Struts1
1.配置WEB-INF目录下的web.xml文件
插入如下XML文件
<servlet>
<servlet-name>ActionServlet</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>
<!--服务启动时就启用-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ActionServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
以上配置的意思是:用户访问任何以 .do 结尾的文件,都请求ActionServlet做处理,详细配置访问>/WEB-INF/struts-config.xml配置文件。
2 。 我这里要处理一个用户注册的页面,页面比较简短,只有三个字段username,password,email
所以得创建一个RegisterFormBean,而注册请求交给RegisterAction来处理
2.1创建RegisterFormBean 继承ActionForm
import org.apache.struts.action.ActionForm;
public class RegisterFormBean extends ActionForm {
private String username;
private String password;
private String email;
//getters&setters
}
2.2 创建RegisterAction类,继承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.fly31.formbean.*;
public class RegisterAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
RegisterFormBean registerForm = (RegisterFormBean) form;
String username = registerForm.getUsername();
String password = registerForm.getPassword();
String email = registerForm.getEmail();
try {
System.out.println("用户名:" + username + "密码:" + password + "邮箱"
+ email);
request.setAttribute("message", "注册成功!!");
} catch (Exception e) {
request.setAttribute("message", "注册失败!!");
}
return mapping.findForward("message");
}
}
3.配置>/WEB-INF/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="registerForm"
type="com.fly31.formbean.RegisterFormBean">
</form-bean>
</form-beans>
<action-mappings>
<action path="/register" name="registerForm"
type="com.fly31.action.RegisterAction">
<forward name="message" path="/message.jsp" />
</action>
</action-mappings>
</struts-config>
4.创建JSP页面,我这里就在index.jsp上编写
插入如下代码到body内
<form action="${pageContext.request.contextPath }/register.do" method="post">
用户名:<input type="text" name="username"><br/>
密码:<input type="password" name="password"><br/>
电子邮箱:<input type="text" name="email"><br/>
<input type="submit" value="注册">
</form>
5.由于要显示一些信息,所以创建message.jsp页面
在body标签内出入如下标签
<body>
${message }
</body>
三、在注册过程中如果输入中文会出现乱码问题。这里在配置一个中文乱码过滤器
1、创建类com.fly31.filter.WebFilter.java
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class WebFilter implements Filter {
// 字符编码
String encoding = null;
public void destroy() {
encoding = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// 判断字符编码是否为空
if (encoding != null) {
// 设置request编码格式
request.setCharacterEncoding(encoding);
// 设置response编码格式
response.setContentType("text/html;charset=" + encoding);
}
// 传递给下一个过滤器
chain.doFilter(request, response);
}
/**
* 初始化的时候设置编码方式
*/
public void init(FilterConfig filterConfig) throws ServletException {
// 获取初始化参数
encoding = filterConfig.getInitParameter("encoding");
}
}
2.修改web.xml文件
在根目web-app下添加如下xml代码
<filter>
<!-- 过滤器的名 -->
<filter-name>WebFilter</filter-name>
<!-- 过滤器所在完整包路径 -->
<filter-class>com.fly31.filter.WebFilter</filter-class>
<init-param>
<!-- 变量名 -->
<param-name>encoding</param-name>
<!-- 变量值 -->
<param-value>UTF-8</param-value>
</init-param>
</filter>
<!-- 过滤器映射 -->
<filter-mapping>
<!-- 映射过滤器的名字 -->
<filter-name>WebFilter</filter-name>
<!-- 过滤器范围,/*表示在这个工程目录下对所有的文件都有效 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
分享到:
相关推荐
6. **模型-视图-控制器(MVC)**: Struts1.3遵循MVC架构,使得业务逻辑、数据表示和用户界面分离,提高了代码的可维护性和可重用性。Action对应Controller,Form Beans代表Model,而JSP则作为View。 7. **国际化与...
1. **MVC模式**:Struts 1.3遵循MVC架构,将应用分为模型(Model)、视图(View)和控制器(Controller)三个部分,帮助实现业务逻辑与表现层的分离,提高代码的可维护性和可重用性。 2. **Action类**:在Struts ...
1. **MVC模式**:Struts1.3基于Model-View-Controller(MVC)设计模式,它将应用分为模型、视图和控制器三个部分,每个部分负责不同的职责,提高了代码的可复用性和可维护性。 2. **Action类**:在Struts1.3中,...
Struts1.3 jar包是Apache软件基金会的Jakarta Struts项目中的一个核心组件,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架。这个框架极大地简化了开发人员在构建动态、数据驱动的Web应用程序...
在Struts1.3版本中,`struts-config.xml`配置文件扮演着至关重要的角色,它是Struts框架的核心配置文件,定义了控制器的行为和应用的结构。 `struts-config.xml`配置详解: 1. **全局常量配置**:此部分用于定义...
Struts1.3是Apache软件基金会下的一个开源MVC(模型-视图-控制器)框架,用于构建基于Java Servlet的Web应用。它提供了良好的架构模式,使得开发者可以将业务逻辑、控制流和表示层分离。在Struts1.3中,ActionForm...
4. **配置文件(struts-config.xml)**:这是Struts应用的主要配置文件,定义了Action、ActionForm、ActionMapping以及Dispatcher的配置。在这里,你可以定义每个Action的映射、表单Bean以及结果视图。 5. **Tiles*...
在本文中,我们将深入探讨Struts 1.3的配置以及如何在实际项目中进行应用。 1. **Struts 1.3 框架概述** - Struts 1.3是Struts 1.x系列的最后一个主要版本,它引入了一些新特性,如增强的异常处理、国际化支持和更...
### Struts2配置过滤器详解 #### 一、概述 Struts2是基于MVC模式的一个开源框架,它能够帮助开发者构建出结构清晰且易于维护的Web应用。在实际开发过程中,为了实现某些功能(例如用户认证、权限控制等),往往...
1. **ActionServlet**:这是Struts框架的核心控制器,负责接收HTTP请求,根据配置文件(struts-config.xml)调度Action实例,并将结果转发到相应的视图。 2. **ActionForm**:用于在Action和JSP之间传递数据。它是...
Struts1.3、Spring4.x和Hibernate4.x是经典的Java Web开发框架组合,被称为SSH。这个项目展示了如何将这三个框架整合起来,实现一个完整的书籍管理应用,包括书籍的增加、删除、修改和查询功能,并且包含了分页展示...
struts1.3jar包
内含Struts1.3 API、Struts2.0 API、Struts1.3标签、Hibernate3.1教程、Hibernate3.1API、Spring3.0 API、Spring3.1API。SSH应有尽有,API均是CHM格式,方便使用。教程为pdf格式。
Struts1.3是Apache软件基金会的Jakarta项目下的一个开源框架,主要用于构建基于Java的Web应用程序。这个框架提供了一种结构化的应用开发方式,它将业务逻辑、控制流程和表现层进行了分离,使得开发过程更为高效且...
1. 验证器分离:在Struts1.2中,验证逻辑通常与ActionForm类混在一起,而在Struts1.3中,验证逻辑被迁移到了单独的配置文件,使得代码更易于维护。 2. 动态验证:Struts1.3的DynaValidator允许动态验证,这是1.2所不...
Struts1.3的全部架包,非常全,包含:struts-core-1.3.10.jar,struts-tiles-1.3.10.jar,struts-taglib-1.3.10.jar,struts-faces-1.3.10.jar,struts-extras-1.3.10.jar........
在实际项目中,这三者之间的协作通常如下:用户通过浏览器发送请求到Struts控制器,Struts解析请求并调用相应的业务逻辑(封装在Spring管理的Bean中)。业务逻辑可能需要访问数据库,这时Ibatis会介入,根据预定义的...
Struts 1.3 API 文档是 Apache Struts 框架的一个重要组成部分,它为开发者提供了详尽的函数库接口、类和方法的参考信息。这个框架是用于构建基于模型-视图-控制器(MVC)架构的 Java Web 应用程序。API 文档通常以 ...
1. **Action类和ActionForm类**:在Struts1.3中,Action类是核心控制器,负责接收用户请求并调用相应的业务逻辑。ActionForm类则用于封装请求参数,它在Action之间传递数据,实现了模型层与视图层之间的解耦。 2. *...