小兵眼中的Java Struts2
老魏终于可以回园子了,但是这次要慢慢的回来,不能一下子回来,这段时间除了要照顾刚出生的小女儿,还要做项目。说实在的老魏时间真是有限,不能照顾到园子的文章了,所以只能慢慢的回来写文章了。抱歉!
今天要写一片杂谈,关于什么呢?关于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的更多相关文章
- Java Struts2 POI创建Excel文件并实现文件下载
Java Struts2 POI创建Excel文件并实现文件下载2013-09-04 18:53 6059人阅读 评论(1) 收藏 举报 分类: Java EE(49) Struts(6) 版权声明: ...
- java struts2入门学习实例--将客户端IP地址和访问方式输出到浏览器
实例1:实现客户端IP地址和访问方式输出到浏览器. IpAction.java package com.amos.web.action; import javax.servlet.http.HttpS ...
- java struts2自定义调用方法
一个action里面不只会调用一个方法,肯定会用到其他的方法,也写在同一个action里面. 这里不重点讲解了,就直接上代码 struts.xml <?xml version="1.0 ...
- Java Struts2 的请求处理流程详解
一.Struts2的处理流程: 客户端产生一个HttpServletRequest的请求,该请求被提交到一系列的标准过滤器(Filter)组建链中(如ActionContextCleanUp:它主要是 ...
- 集成框架 javaweb开发平台ssmy_m(生成代码) java struts2 mybatis spring maven jquery
网页地址 http://blog.csdn.net/lpy3654321/article/details/31841573 项目设想,在项目开发中,我们的开发者大多数时间都在反复开发 相同的keywo ...
- JAVA Struts2 搭建
java struts 2搭建 1.web工程 2.将struts2 用到的jar包,拷贝到webcontent/webinf/lib文件夹.下 3.webcontent 下的web.xml 下 ...
- Java——Struts2 crud 简单实例(学习struts2和ssh) 用Myeclipse实现
1.new web project 2.给新建的web项目添加struts2支持 3.项目结构中有了struts.xml和struts2核心库 4.编码 4.1项目结构图 4.2源代码: (1)DbU ...
- [java]struts2入门
摘要 本文是struts2入门,配置教程.如何在IntelJ Idea中进行手动配置.在使用idea新建struts2web项目的时候,在下载jar包的过程中,下载失败,没办法就直接手动进行下载jar ...
- java struts2 的 文件下载
jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnco ...
随机推荐
- POJ 3660 Cow Contest (闭包传递)
Cow Contest Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7690 Accepted: 4288 Descr ...
- 转: javaWeb学习总结(见过最好的知识合集,相当给力,强烈推荐)
转: http://www.cnblogs.com/xdp-gacl/tag/JavaWeb%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/default.html?page ...
- Angularjs 中使用指令绑定点击事件
项目中,模板中的菜单是jQuery控制的,在Angularjs中就运行不到了,因为菜单项是ng-repeat之后的. 如html <ul id="main-menu"> ...
- vijos P1037搭建双塔
P1037搭建双塔 Accepted 标签:动态规划 背包 描述 2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难.为了纪念“9?11”事件, ...
- Java程序修改文件名
package script; import java.io.File; import java.io.IOException; public class Realname { public stat ...
- Javascript验证用户输入URL地址是否正确
<script type="text/javascript">function checkUrl() { var url = document.getElementBy ...
- iOS-KVC和KVO精炼讲解(干货)
一.KVO介绍 KVO就是观察者模式,说白了就是你关心的一个值改变了,你就会得到通知.你就可以在你想处理的地方处理这个值. 二.KVO的使用 一般分为三步: 注册监听 使用方法: /** * 添加KV ...
- iOS-RunLoop,为手机省电,节省CPU资源,程序离不开的机制
RunLoop是什么?基本操作是什么? 1.RunLoop的作用 RunLoop可以: 保持程序的持续运行 处理App中的各种事件(比如触摸事件.定时器事件.Selector事件) 节省CPU资源,提 ...
- 工作单元(Unit of Work)
维护受业务事务影响的对象列表,并协调变化的写入和并发问题的解决. 从DB中存取Data时,必须记录增删改动作,以将对DB有影响的数据写会到DB中去. 如果在每次修改对象模型时就对DB进行相应的修改,会 ...
- 匹配一级分类和二级分类 名字和url 里面有玄机
1:要匹配的html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// ...