struts的由来】的更多相关文章

当学习或工作时,有些同学会谈到熟悉struts.hibernate.spring等等框架,貌似熟悉这些框架是精通java的表现,但是我们应该首先弄明白为什么要学框架?是为了学习而学习?还是为了工作而学习? 就拿struts框架举例子,为什么要学习struts框架? 要了解struts框架,首先必须理解mvc是怎么回事?mvc又是如何冒出来的呢? 开始写程序的主要的目的是为了实现功能,至于如何设计不管.也就是过程不重要,结果重要.所以当时的设计思路就是Model1,什么是Model1?jsp直接调…
学习了struts,可是对于它的由来,以及为什么使用action和struts.xml的方式而不採用曾经的servlet方式.有些疑问,究竟之前的方式有什么弊端,struts又给我们带来了什么便利? 以下一一为大家解答! struts的由来: 随着JSP与Servlet 技术大量应用于以Web为基础的应用程序,为了提升Web 应用程序可维护性与反复使用性.Java开发者提出了一些较佳的开发模式.比較常见的两种JSP应用架构分别为Model1 与Model 2.详情參见(JAVA学习篇--JAVA…
在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中需要用户实现的部分只有三个,那就是struts.xml,Action,Template(JSP),如下图: 2.3.31中的org.apache.struts2.dispatcher.ActionContextCleanUp已经被标记为@Deprecated Since Struts 2.1.3,2…
Struts的拦截器 1.什么是拦截器 Struts的拦截器和Servlet过滤器类似,在执行Action的execute方法之前,Struts会首先执行Struts.xml中引用的拦截器,在执行完所有引用拦截器的intercept方法后,才会执行Action的execute方法. 1.在struts中,把每一个功能都用一个个的拦截器实现:用户想用struts的哪个功能的时候,可以自由组装使用 2.在Struts中,为了方法用户对拦截器的引用,提供了拦截栈的定义,里面可以包含多个拦截器.拦截栈就…
Struts的核心业务 Struts核心业务有很多,这里主要介绍了比较简单一些的: 请求数据的处理,和数据自动封装,类型自动转换 1.Struts中数据处理 1.1.方式1:直接过去servletapi 核心类:ServletActionContext提供的静态方法 /** * * 数据处理方式1: */ public class dataAction extends ActionSupport{ public String execute() throws Exception { //1.请求…
Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name="fileUpload" calss="org.apache.struts2.interceptor.FileUploadInterceptor/> 来完成的. 1.1.Struts完成文件上传的基本步骤 由于功能已经在拦截器就已经完成了,所以在action中就只需要进行配置就可以了…
hibernate文件配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd&…
失败页面fail.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&…
1. struts.xml 文件基本配置: 主要放在资源路径下,配置 sturts2相关的 Action , 拦截器等配置 <struts> <!-- 设置常量 --> <constant name="struts.enable.DynamicMethodInvocation" value="false"/> <constant name="struts.devMode" value="true…
在Java Web项目中,经常要在项目开始运行时启动一个线程,每隔一定的时间就运行一定的代码,比如扫描数据库的变化等等.要实现这个功能,可以现在web.xml文件中定义一个Listener,然后在这个Listener中启动一个线程,在线程里面实现功能. 1. 自定义Listener 在Struts+Spring+Hibernate的Web项目中,web.xml里面一般都会有这样的代码: <listener> <listener-class>org.springframework.w…