我最近一直在看这个的java web项目涉及到的知识,今天突然感觉思路烁然开明。

我们经常会将java web开发说成是MVC
V: view 我在这里姑且就介绍JSP吧。JSP其实就是在原来的静态页面中注入java语句,让页面做个可控操作。
JSP:java server page
当然,页面与页面之间是如何通信的,这里就涉及到server了。
在我们的项目中,涉及到通信的处理,我们会放入所谓的服务器中。在这里就介绍tomcat.
作为一种开源的tomcat服务器,它对小型的通信处理还是绰绰有余的。
原理其实也很简单:
C 页面向固定的URI发送Socket,我们在java虚拟机中开启一个serverSocket,这样,如果接受到了这个Socket,我们就可以获取到这个Socket
所携带的URI,这样,我们也就获取了,我所传的参数及传给谁参数。这里一般会有那个对象可能是接受参数的对象,一个是页面,一个是
servlet。其实判断他们也很简单,通过uri判断地址是否含有“/servlet/”,然后根据在xml中定义<server>找到相应的信息,然后再通过
java的反射机制创建一个新的对象。
插入一下,介绍一下request和response。
request其实在整个过程中起到的是,将serverSocket获取的socket的uri进行各种处理和封装,进而我们可以简单了通过几个get方法,
就获取了我们想要的信息
response其实就是将输出流写入页面
这时,就实际到了我们如何去寻找.class,如何添加自己的过滤条件等等,当然这时,struts2框架就很好的解决了我们这方面的缺憾,它不仅对
xml中映射关系做了响应自己的配置处理,并且也对servlet做了处理,我们不在需要去关心servlet的生命周期,uri的请求方式(post、delete、get)
等等信息,我们现在仅仅需要将文件配置正确,我们只要继承和实现这个接口就可以了,我们专心做自己的业务处理。当然,struts2也提供了很多过滤器,
方便我们对用户权限等操作处理
M 我们在做业务处理小不了要对数据进行操作,这样,在数据库处理时,由于项目的任务越来越繁重,一开始的单线操作肯定是不行了,这里也就引入了数据
连接池的概念。hibernate的出现解决了ORM的类型转换(配置文件),sql的封装,事务的处理。这样程序员只要对java实例对象处理就可以做到对数据库的
处理。
其实让人们发现,如果能将程序程序时,如果我们要调用一个对象,我们需要new这个对象,然后就可以对这个对象进行操作。但是如果业务处理繁琐了,
原有的方式操纵就是显得可读性变得低了。IoC就解决这个问题,我们现在调用对象是,程序自己将这个对象创建给我们,这样我们可以通过两种方式,
一种是xml配置这些信息,一种是java提供的注解。
当我们需要在创建对象时做自己的处理,这里提到的AOP,官方说是面向切面编程。其实,我们知道,它只不过是java的动态代理。
当然,Spring就如一个大观园,提供了支持几个开源框架的接口,也有自己的持久层处理等等

是不是觉得很不可思议,整个javaweb项目,涉及到的几个开源框架就这么多。其实涉及到java知识大体上有:
socket、java的反射、注解、对xml的解析等

web开发小节.txt的更多相关文章

  1. 通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core? .Net Web开发技术栈

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?   什么是.NET?什么是.NET Framework?本文将从上往下,循序渐进的介绍一系列相关.NET的概念 ...

  2. java WEB开发入门

    WEB开发入门 1 进入web JAVASE:标准- standard   JAVA桌面程序 GUI    SOCKET JAVAEE:企业-浏览器控制  web 2 软件结构 C/S :client ...

  3. Web开发基本准则-55实录-Web访问安全

    Web开发工程师请阅读下面的前端开发准则,这是第一部分,强调了过去几年里我们注意到的Web工程师务须处理的Web访问安全基础点.尤其是一些从传统软件开发转入互联网开发的工程师,请仔细阅读,不要因为忽视 ...

  4. 移动Web 开发中的一些前端知识收集汇总

    在开发DeveMobile 与EaseMobile 主题 的时候积累了一些移动Web 开发的前端知识,本着记录总结的目的,特写这篇文章备忘一下. 要说移动Web 开发与传统的PC 端开发,感觉也没什么 ...

  5. 作为一个web开发人员,哪些技术细节是在发布站点前你需要考虑到的

    前日在cnblogs上看到一遍文章<每个程序员都必读的12篇文章>,其中大多数是E文的. 先译其中一篇web相关的”每个程序员必知之WEB开发”. 原文: http://programme ...

  6. Flask —— 使用Python和OpenShift进行即时Web开发

    最近Packtpub找到了我,让我给他们新出版的关于Flask的书写书评.Flask是一个很流行的Python框架.那本书是Ron DuPlain写的<Flask 即时Web开发>.我决定 ...

  7. Web开发——Http协议剖析

    Http,即超文本传输协议,是建立在TCP/IP协议的基础上.在Web开发的过程中,Http协议是十分重要的,浏览器与服务器之间的交互就是基于Http协议的.Http协议如果展开全面讲解会有很多内容, ...

  8. Web开发需要关注的技术细节

    摘要:在网站发布前,开发者需要关注有许多的技术细节,比如接口设计.用户体验.安全性.Web标准.性能.SEO等,倘若一个疏忽就会影响到整体的体验效果.作为一名Web开发者,哪些技术细节需要考虑呢? [ ...

  9. 【转】web开发需要知道的事情

    在StackExchange上有人问了这样一个问题:What should every programmer know about web development?(关于Web开发,什么是所有程序员需 ...

随机推荐

  1. lucene 4.4 demo

    ackage com.zxf.demo; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStr ...

  2. html-----008

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. Javascript中数组方法汇总

    Array.prototype中定义了很多操作数组的方法,下面介绍ECMAScript3中的一些方法: 1.Array.join()方法 该方法将数组中的元素都转化为字符串并按照指定符号连接到一起,返 ...

  4. Gradle教程之任务管理

    简要概述依赖管理 不算完美的依赖管理技术 自动管理依赖的重要性 自动依赖管理面临的挑战 声明依赖 外部模块依赖 文件依赖 配置远程仓库 这一章我将介绍Gradle对依赖管理的强大支持,学习依赖分组和定 ...

  5. 设计模式之 Factory Method 工厂方法

    看到的比较有意思的一篇描述工厂方法的文章. http://www.codeproject.com/Articles/492900/From-No-Factory-to-Factory-Method 总 ...

  6. C++写一个排列组合小程序

    今天突然想到一个问题,有时候,针对同一个事件有多种反映,特别是游戏AI当中,这种情况下需要采取最适合的方案,哪种方案最适合,可以将每种方案的结果或影响都计算一遍,从而选择最合适的.最基本就是一个排列组 ...

  7. 使用NPOI操作Excel

    案例:用NPOI动态生成一个Excel表,然后弹出对话框让用户下载,文件名是"用户列表.xls" 先去相关网站下载 NPOI DLL文件,再引用   application/x-e ...

  8. 【转】JavaScript闭包

      摘自:JavaScript作用域闭包简述 使用外部变量的函数就是闭包,闭包可以给我们带来一些便利,就是可以在高等级的作用域使用低等级作用域中的变量:   例: var data = []; fun ...

  9. node-webkit:开发桌面+WEB混合型应用的神器

    顾名思义, node -webkit就是 node js+webkit. 这样做的好处显而易见,核心奥义在于,用 node js来进行本地化调用,用webkit来解析和执行HTML+JS. 快速上手 ...

  10. XML3_XML元素和节点的具体解释

    就像一个树状的目录.可以把第一行当作它扎根的“土地”.XML文件是由节点构成的.它的第一个节点为“根节点”.一个XML文件必须有且只能有一 个根节点,其他节点都必须是它的子节点.我们在FLASH里使用 ...