该项目是我自己写的, 该项目知识点如下:
该项目是多个表单一步步提交,在最后页面展示各个页面输入的信息;
1.多个表单应该对应多个ActionForm,此处用一个ActionForm包含了各个表单的属性
2.每个表单(step1.jsp,step2.jsp,step3.jsp,finish.jsp)的提交,都对应一个Action来处理,
不过此处没有写Action类,只是写了多个action标签,而具体的转向由forward属性来负责;
3.多个提交(step1.jsp,step2.jsp,step3.jsp,finish.jsp)对应的Action共用一个ActionForm(StepActionForm.java)
4.如果在一个页面想得到多个action提交处理的数据,需要在各个action标签中设置:scope="session"
5.ActionForm接收数据时会出现乱码,采用过滤器来处理乱码问题
==========过滤器类SetCharacterEncodingFilter.java=========
public class SetCharacterEncodingFilter implements Filter {
private String encoding;
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(this.encoding);
chain.doFilter(request,response);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.encoding=filterConfig.getInitParameter("encoding");
}
}
============web.xml=============
<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>com.wlh.servlet.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
分享到:
相关推荐
若验证失败,可能会返回错误页面或再次显示登录表单并显示错误消息。 在`login`文件夹中,可能包含了以下内容: - `LoginAction.java`:Action类,处理登录请求。 - `LoginForm.java`:ActionForm类,存储用户输入...
2. 操作状态管理:在Action中设置一个操作状态变量,当处理完一次请求后,改变该状态,当再次提交时,根据此状态判断是否已处理过,如果是,则拒绝处理。 二、文件上传组件 在Struts中,可以使用Struts的FileUpload...
3. 数据操作完成后,应用程序将连接归还回连接池,而不是关闭连接,以便其他请求再次使用。 4. 当并发请求增多,超过连接池预设的最小连接数时,连接池会按需创建新的连接,但有个最大限制,以防止过多的连接消耗...
对于初学者来说,了解Struts1的工作流程是非常重要的,这有助于理解如何利用Struts1来开发Web应用。 #### 二、核心组件介绍 在深入探讨Struts1的工作流程之前,我们需要先了解一下其核心组件: 1. **Action...
8. JSP页面显示结果,或者流程再次循环。 **Struts 2的出现和发展** 随着时间的推移,Struts 1的局限性逐渐显现,例如对Ajax支持不足、配置繁琐等。于是,Struts 2应运而生,它吸收了WebWork框架的许多优点,提供...
当用户再次访问查询页面时,ActionForm的这些属性值会被填充到对应的下拉框中。 7. **使用Struts标签简化开发**:引入Struts标签库,如`<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>`, `...
- **Session机制**:利用session来记录用户的提交状态,一旦某个表单被成功提交,就在session中记录下来,再次提交时检查session状态来决定是否继续处理。 #### 七、案例与练习 课件中提到了含有案例和练习的部分,...
综上所述,理解并掌握Struts框架中的数据回显、模型驱动以及防止表单重复提交的原理和实现方法,对于提升Java Web应用的开发效率和质量具有重要意义。在实际开发中,应灵活运用这些技术,以满足项目需求,打造稳定...
如果Token已经使用过或者过期,就会阻止再次提交,从而避免了用户意外或恶意的重复操作。 6. **实践操作**: 实践中,你可以通过修改已有的Struts1工程来学习这些概念。例如,创建一个新的Action,编写对应的...
- **结果处理**:Action执行完毕,ActionInvocation根据结果码找到返回结果,再次执行拦截器和过滤器。 3. **Struts1与Struts2的区别特性**: - **Action类**:Struts1要求Action类继承抽象基类,而Struts2的...
通过《Struts Web设计与开发大全》这本书,读者可以深入理解Struts框架的工作原理,学习如何构建基于Struts的Web应用,掌握Action、ActionForm、配置文件的编写,以及如何调试和优化Struts应用程序。书中还可能包含...
6. 如果ActionForward指向另一个Action,流程会再次从步骤3开始。 **Struts的优势:** 1. **解耦合**:通过MVC模式,Struts将业务逻辑、数据展示和用户交互分开,提高了代码的可维护性和可扩展性。 2. **可配置性*...
此项目提供的源代码、数据库脚本和程序截图将有助于理解每个组件如何协同工作,是学习和实践Struts框架的一个宝贵资源。通过实际操作,你可以更深入地了解Struts如何将前端请求与后端业务逻辑相结合,以及如何有效地...
- 再次,配置Hibernate的hibernate.cfg.xml,定义数据源、实体类映射等信息,创建SessionFactory。 - 最后,完成web.xml的配置,设置过滤器以启动Struts和Spring,确保各组件的正常运行。 6. **常见问题及解决...
再次,它的异常处理机制有利于提高程序的健壮性;最后,由于Struts遵循MVC模式,使得开发团队能更有效地分工协作。 本设计中,it培训认证管理系统采用Java EE进行编程,这是一种企业级应用开发的标准,包含了多种...
当用户提交表单时,服务器会检查这个标识是否有效,如果已经使用过或者不存在,就拒绝再次处理请求,从而避免了重复提交。 具体操作包括两个关键步骤: 1. `saveToken(request)`:在用户准备提交表单之前,调用这个...
- 再次,配置Hibernate的hibernate.cfg.xml,设置数据库连接参数,映射实体类。 - 最后,编写Action类,调用Spring管理的业务服务,完成业务逻辑。 6. **源码分析**:压缩包中的源码可能包含以下部分:Struts的...
7. 当用户点击播放按钮时,再次发起请求,Action调用Service播放音乐,可能涉及到数据库中音乐文件的路径信息。 **项目运行** 要运行这个在线音乐播放系统,你需要: 1. 安装Java开发环境(JDK)和Apache Tomcat...
在`execute`方法内,我们可以使用Structs的`ActionForm`来获取请求参数,例如`username`和`password`。然后,这些信息可以与数据库中的用户记录进行比对,以确认用户的身份。 在验证过程中,你需要连接到数据库,这...
Struts提供了一套强大的标签库,使得在JSP页面上操作更加简便,同时也支持ActionForm对象来处理用户输入。 在“ajax和struts实现验证码”这个场景中,我们可以这样理解:用户在登录或其他需要验证的表单上点击...