老魏终于可以回园子了,但是这次要慢慢的回来,不能一下子回来,这段时间除了要照顾刚出生的小女儿,还要做项目。说实在的老魏时间真是有限,不能照顾到园子的文章了,所以只能慢慢的回来写文章了。抱歉!

    今天要写一片杂谈,关于什么呢?关于Java Struts2的文章,虽然老魏不是写Java出身的,但是毕竟有的时候知己知彼才能更好的学到一些东西!这里首先声明一下,这篇文章不是为了贬低Struts2,而是想要说说老魏眼中的Struts2和ASP.NET MVC的一些看法。

    在Struts2中,虽然是基于MVC模式的,而且也是得到大家认可的,可老魏毕竟是.NET出身,所以在写Java的时候老是用的是.NET的一些思想。所以可能对Struts2的理解有些不对,请高手指正。

    我们知道在Struts2中需要写Action的时候,这个Action方法需要返回一个String,或者void。当返回String的时候,需要通过注解的方式或者是xml的方式来声明该Action所需要的View是哪个jsp。这一点老魏就认为不是很方便,没有ASP.NET MVC来的方便,在ASP.NET MVC中可以通过Aciton的名字自动和aspx文件关联,也可以通过指定View的方式来指定哪个aspx。其实这一点就比较方便。希望Struts中能够更改这个。

    其次,在跳转方面,Struts2中分为了chain,redirectAction等等。说实在的分的实在是太细了,有的时候老魏都晕了,谁让老魏是个小兵呢!哎,如果是那些高手们,肯定没有这些问题了。在ASP.NET中的跳转就比较简单,没有那么的复杂。

    再来谈谈应用程序方面,老魏发现在Struts2中有些东西我感觉还是比较不错的,尤其是在页面方面,有的时候我们只需要提供一个页面,这个页面不需要通过Controller,只是为了显示表单等等。所以可以直接访问jsp。但是在ASP.NET MVC中,每个view都必须经过Controller,所以在这个方面,老魏希望ASP.NET MVC可以学习一下。

    在来看看Struts中管理Action的配置,在struts2.xml中需要对Action进行管理,那么他是通过package的方式来管理,在package中如果Action之间想要相互的跳转,那么必须要考虑的是路径的问题,可能这点是每个小兵都要经历的阶段,路径定位不好就找不到Action或者jsp,尤其在配置Struts2中动态方法调用后,如果要跳转本类中的其他的Action那么写法就有2中。最后老魏受不了配置文件了,只写了个通过的跳转方法。

    写到这里呢,老魏觉得J2EE开始的时候都是把时间放在了配置文件上了,而老魏搞了一辈子的.NET了,写的配置文件都能数的过来,可能这也是JAVA和.NET之间的一个区别的吧,JAVA配置文件很多,导致了学的时候晕头转向的,不是很让人接受啊,但毕竟JAVA在做大项目的时候配置文件必不可少啊!在来看看.NET,上来就是代码,几乎没有和配置文件打交道,可是随着项目的需要,配置的东西也越来越多,VS提供的config文件非常的智能,可以帮助我们写配置。

    说道这里呢,老魏的总结就是学习JAVA需要心稳手稳,学习.NET需要强大的脑容量来接受新的知识,不断提升自己!作为一个JAVA小兵,这就是我的自白。呵呵。

小兵眼中的Java Struts2的更多相关文章

  1. Java Struts2 POI创建Excel文件并实现文件下载

    Java Struts2 POI创建Excel文件并实现文件下载2013-09-04 18:53 6059人阅读 评论(1) 收藏 举报 分类: Java EE(49) Struts(6) 版权声明: ...

  2. java struts2入门学习实例--将客户端IP地址和访问方式输出到浏览器

    实例1:实现客户端IP地址和访问方式输出到浏览器. IpAction.java package com.amos.web.action; import javax.servlet.http.HttpS ...

  3. java struts2自定义调用方法

    一个action里面不只会调用一个方法,肯定会用到其他的方法,也写在同一个action里面. 这里不重点讲解了,就直接上代码 struts.xml <?xml version="1.0 ...

  4. Java Struts2 的请求处理流程详解

    一.Struts2的处理流程: 客户端产生一个HttpServletRequest的请求,该请求被提交到一系列的标准过滤器(Filter)组建链中(如ActionContextCleanUp:它主要是 ...

  5. 集成框架 javaweb开发平台ssmy_m(生成代码) java struts2 mybatis spring maven jquery

    网页地址 http://blog.csdn.net/lpy3654321/article/details/31841573 项目设想,在项目开发中,我们的开发者大多数时间都在反复开发 相同的keywo ...

  6. JAVA Struts2 搭建

    java  struts 2搭建 1.web工程 2.将struts2 用到的jar包,拷贝到webcontent/webinf/lib文件夹.下 3.webcontent  下的web.xml  下 ...

  7. Java——Struts2 crud 简单实例(学习struts2和ssh) 用Myeclipse实现

    1.new web project 2.给新建的web项目添加struts2支持 3.项目结构中有了struts.xml和struts2核心库 4.编码 4.1项目结构图 4.2源代码: (1)DbU ...

  8. [java]struts2入门

    摘要 本文是struts2入门,配置教程.如何在IntelJ Idea中进行手动配置.在使用idea新建struts2web项目的时候,在下载jar包的过程中,下载失败,没办法就直接手动进行下载jar ...

  9. java struts2 的 文件下载

    jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnco ...

随机推荐

  1. hdu 4725 最短路

    思路:将每个layer拆成两个点,编号为N+x,和N+N+x.对所有属于layer   x的点i,建N+x到i的有向边,在建i到N+N+x的有向边.最后对所有x号layer和x+1建一条N+N+x到N ...

  2. android 开源库集合的链接列表

    1.  内容挺多的 https://github.com/Trinea/android-open-project

  3. Unity3d之动态连接Mesh Renderer和Collider

    using UnityEngine; using System.Collections; public class dynaMesh : MonoBehaviour {     public Skin ...

  4. 自定义input file 属性

    <label class="input"><input title="浏览文件" type="file" />浏览… ...

  5. 【CSS3】---层模型position之fixed固定定位、absolute绝对定位和relative相对定位

    什么是层模型? 什么是层布局模型?层布局模型就像是图像软件PhotoShop中非常流行的图层编辑功能一样,每个图层能够精确定位操作,但在网页设计领域,由于网页大小的活动性,层布局没能受到热捧.但是在网 ...

  6. 【转载】使用SQL Server维护计划实现数据库定时自动备份

    在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员 每天守到晚上1点去备份数据库.要实现数据库的 ...

  7. android 使用NinePatch图作Background,导致布局混乱

    在Layout中使用NinePatch图片作为其布局的背景图片时,可能会导致Layout中的布局发生混乱,此时将此Layout设置一个属性:android:padding="0dp" ...

  8. MVC自定义错误页404静态页

    昨天公司要求给所有项目添加自定义404错误页,具体的要求实现的有以下几点: 1.实现自定义错误(如各种error,404等)跳转到指定的页面 2.所指定的页面输出的http状态值必须是404或其他指定 ...

  9. Apache2.4 与 PHP 5.5 64位版的安装配置

    我的环境:windows7 旗舰版 64位 首先下载相关文件: php 5.5.0 windows 64版 http://windows.php.net/download/#php-5.5 (选择 6 ...

  10. WPF DataGrid 操作列 类似 LinkButton

    WPF中没有类似LinkButton,所以只有运用Button及样式来实现LinkButton. DataGrid 操作列 实现 多个类似LinkButton按钮: 具体实现代码如下: <Dat ...