struts开发经验汇总

  笔者接触struts2之时,对于web开发甚至尚未概念,仅有的知识是如何利用HTML、CSS和简单的JS进行静态网页的编写。对于开发一个网站所必需的后台、数据库基本没有了解。css

  所以这篇博文,能够说不仅仅是笔者利用struts2框架进行web开发的经验汇总,也是对目前为止web开发的一个简单梳理。html

  做为一名初学者,在没有系统学习计算机网络以及任何web实战经验的前提下,不断搜索成为了开发过程当中相当重要的一环。所以本文在陈诉经验与学习脉络的基础之上,将罗列出一篇篇对我有帮助的文章,将基于struts2的web开发中遇到的一系列细节问题加以重现,但愿为struts2以及web开发的初学者提供必定的借鉴。前端


 

1、web开发基本流程

  个人理解中,基于struts2的web开发其实和它的运做机理相同,也十分很简单:java

  前端(网页)--------(接收用户的输入)-------->jquery

  后台(java写的action类)----(响应用户在网页中作出的输入,将必要的数据存储到数据库中)---->web

  数据库(一般以MySql数据库中的表的形式存在)------(返回响应所需的数据)-------------->ajax

  后台(与前一个java写的action类是同一个)---(处理从数据库中返回的数据,加工后送到前端网页,显示给用户)----->数据库

  前端(多是同一个网页,也多是不一样的,显示的内容与用户以前的输入有关)。编程

  以上的语言都比较好理解,大概只有后台里面的“java写的action类”使人费解。所谓action类,是struts2框架中处理前端网页和数据库的“大脑”,也是咱们的网站可以处理一系列业务的核心。一般一个网站会有不一样的action类来处理不一样的请求/业务。它的主要功能是对接收并处理加工(一般要将新的数据存储到数据库中)来自前端网页的数据(用户的请求、输入的数据等待),并访问数据库,取出所需的数据,根据业务需求,返回前端网页展现所须要的数据。之因此叫作action类,其一,它是由java代码写成的一个class,其二,其做用在于take action according to request from front end and respond with data in database.(但愿这段中英文夹杂不会让人感到难堪...)bootstrap

  没错,即便是肤浅的大白话,相信你颇有可能一个字也看不下去,可是对于像我以前同样的菜鸟来讲,基本的概念却必须提早创建起来,脑子里有了这么个框架,之后再往里面填东西就简单得多。(其实struts2自己也是这么一个填坑的过程)


 

2、MVC模型

  在以前介绍的网页开发流程中,其实我已经不自觉地把web框架构成分红了三部分:前端、后台和数据库,并将他们与实体联系在一块儿:网页、java代码和数据库数据。

  这背后事实上蕴含着这样一个广为人知的MVC模型,M--Model--Java对象,V--View--网页--HTML/CSS/Javascript,C--Control--Java控制类。

  网上有不少关于MVC模型的介绍与入门教程,请读者自行搜索、阅读相关内容,想一定会加深读者对web开发流程的认识,造成初步的印象。

 

  相关连接:

  从MVC框架看MVC架构的设计 – 码农网  www.codeceo.com/article/mvc-framework-mvc-design.html

  Servlet和JSP开发入门教程 | 天码营 - 新一代技术学习服务平台  https://course.tianmaying.com/servlet-and-jsp


3、前端入门

  前端在第一部分中,咱们将其对应为网页;在第二部分MVC模型中,对应着View部分。顾名思义,即用户经过浏览器所见的网页及其内容,即是前端。

  学习前端,咱们须要掌握HTML、CSS和Javascript三大神器。

  通俗来讲,HTML告诉浏览器显示什么内容,以怎样的格式(好比大小、位置等等)显示。所以HTML中包含着须要显示的文本以及为了标记文本格式的标签。除了文本,HTML还能够经过一系列标签引入图像、视频、音频甚至画图板等诸多功能。

  更详细的介绍,请经过w3s网站学习。该网站覆盖了web开发的整套学习材料,是广为推崇的web学习网站。

  w3s    http://www.w3school.com.cn/

  HTML 系列教程  www.w3school.com.cn/h.asp

  

  虽然HTML可以指定文本的大小和位置,但功能十分有限。CSS则对HTML中的元素施加魔法,使之可以呈现出更多的样式,以更好的效果展示在用户面前。

  CSS教程  http://www.w3school.com.cn/css/index.asp

 

  若是你的网页是一成不变的,那么HTML和CSS足以作出使人惊艳的网页。可是一个静态的、难以响应用户输入的网页功能就大打折扣了。Javascript能操纵HTML和CSS,改变它们的展示方式,达到动态效果。

  Javascript教程  http://www.w3school.com.cn/js/index.asp


4、Java入门

  Java是广为使用的面向对象的编程语言,具备多平台的可移植性,附有齐全的库,也是struts框架中的后台语言。

  struts框架中使用的java代码并没有特殊要求,故在此不对Java作特别介绍,若是读者对Java语言不了解,请自行搜索相关资料阅读。在此推荐一个简明的Java入门教程,有过编程经验的读者应该可以在两三天的时间掌握基本的Java编程要求。

  

  Java入门教程  https://course.tianmaying.com/java-basic


5、开始你的struts2 Hello World

  接触一个新的框架/软件,配置问题每每既麻烦,又耗时,有时须要反复试验才能成功。如何在网页上显示一个HelloWorld呢?如下两篇文章可能会对你有所帮助。(若是遇到问题,请不要着急,stackoverflow、csdn以及分布各处的热心网友会答疑解难的,用好搜索引擎是成功的快捷通道)

  

  为Struts 2.0作好准备 - Max On Java - BlogJava  www.blogjava.net/max/archive/2006/10/10/74353.html

  搭建一个简单的struts2.0的web工程 - joy_zhao988的专栏 - 博客频道 - CSDN.NET  blog.csdn.net/joy_zhao988/article/details/8684283


6、实现一个struts2 CRUD

  所谓CRUD,是Create、Remove、Update、Delete 4个英文单词的缩写,这表明着咱们的网站再也不只是一个可以显示Hello World的静态网站了,而必须可以根据用户的操做,在网页上反应出对应的结果。

  CRUD操做的对象是数据库里面的数据,所以咱们的网站必须可以链接到数据库。CRUD指令是用户在前端网页发出的请求,所以咱们的后台java程序将发挥用处,一个个action类将根据用户输入的数据,访问数据库取出数据,通过处理后将结果从新存到数据库里,并返回咱们但愿用户看到的结果。

  笔者的另外一篇博客记录了如何实现一个具备CRUD功能的图书管理系统,内附有大量的配置与代码截图,但愿可以对读者有所帮助。

  

  struts2 CRUD 入门 配置 - zhangnf - 博客园  http://www.cnblogs.com/zhangnf/p/struts2.html

  

  与以前的Hello World相比,大量的技术细节问题将逐渐暴露出来。笔者认为,最关键的问题是前端页面与后台java类的数据传递。再次附上连接:

 

  struts2中action接收参数的方法 - 大陶陶 - 博客园  www.cnblogs.com/bukudekong/archive/2012/03/29/2423064.html

  struts2从action向jsp传参数 - saobchj - 博客园  www.cnblogs.com/saobchj/archive/2012/05/09/2491641.html

 

  其次即是jsp的如何有效显示数据。对jsp以及struts2背后的servlet的深刻了解,能够参考如下教程:

  

  Servlet和JSP开发入门教程 | 天码营 - 新一代技术学习服务平台  https://course.tianmaying.com/servlet-and-jsp

  

  这篇文章也提供了jsp显示数据的有用信息:

  

  Struts2 数据标签(四)s:param标签的三种赋值方法 - - ITeye技术网站  wl-ldy.iteye.com/blog/860169

 

  固然,还会有不少的技术问题出现,请各位读者用好手边的书和手上的搜索引擎,自力更生,丰衣足食。


7、struts进阶——拦截器

  有人说拦截器是struts2框架的核心,不假。拦截器提供了在前端页面与后台action类之间施加额外操做的重要手段。一个最典型的例子即是非法登录浏览页面检测:

 

  防止未登陆用户操做—struts2拦截器简单实现 - - 博客频道 - CSDN.NET  blog.csdn.net/zhutulang/article/details/38351629

 

  有关struts2拦截器的相关知识覆盖了struts2的整套工做原理,感兴趣的读者能够自行查阅资料学习。


 

8、web进阶

  想要作好一个网站,天然能够从web运做流程中的每一个环节都加以考虑。好比,一个十分赏心悦目的前端,定会更加吸引别人的眼球。bootstrap即是一个十分优秀的前端框架,为前端开发者提供了许多有用的布局、组件、插件支持。使用bootstrap做为前端框架,能够实现现代化的网站布局,效果十分美观。

 

  bootstrap中文文档  http://v3.bootcss.com/

 

  如何高效实现一个动态响应的网站呢?jQuery是Javascript的封装,被誉为写的更少,作的更多的Javascript。值得一提的是,jQuery中还封装了ajax,能够实如今不刷新网页的前提下执行后台action类操做,并更新网页内容的强大功能。jQuery的编写十分容易上手,且功能强大,强烈推荐学习。

 

  jQuery教程  http://www.w3school.com.cn/jquery/

  利用JQuery实现Struts2的Ajax功能 - 编程记录 - 博客频道 - CSDN.NET  blog.csdn.net/yongh701/article/details/44279635


9、小结

  近三个月的学习,我从web小白一步步变成中白,期间推进我不断学习的动力,正是来自于网上流传各处的丰富的前人经验。出于此,我才有了将本身学习经验发表出来的想法。因此在此,向我文中引用到的各位做者表示感谢。

相关文章
相关标签/搜索