我最近一直在看这个的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. UIImagePickerController显示中文界面

    iOS开发中,我们经常遇到获取拍照.相册中图片的功能,就必然少不了UIImagePickerController,但是我们发现当我们使用它的时候,它的页面是英文的,看着很别扭,国人还是比较喜欢看中文界 ...

  2. mysql主从之主键冲突

    收到短信报警,两台数据库都报slave同步失败了,先说明一下环境,架构:lvs+keepalived+amoeba+mysql,主主复制,单台写入, 主1:192.168.0.223(写) 主2:19 ...

  3. CentOS系统Apache服务器优化详解

    1.Apache优化 Apache能够在CentOS系统正常运行.但是,对于访问量稍大的站点,Apache的这些默认配置是无法满足需求的,我们仍需调整Apache的一些参数,使Apache能够在大访问 ...

  4. php ini_set('display_errors', $value)

    正常情况下,在开发模式中,把错误显示出来,方便纠正,但在布署模式中,就得把错误关闭: ini_set('display_errors', 1); // 开启 ini_set('display_erro ...

  5. div+css3实现漂亮的多彩标签云,鼠标移动会有动画

    div+css3实现漂亮的多彩标签云,鼠标移动会有动画 点击运行效果 <style> .dict { margin: 20px 0;clear:both ;text-align:left; ...

  6. PHP接口(interface)和抽象类(abstract)

    interface 定义了一个接口类,它里面的方法其子类必须实现.接口是类的一个模板,其子类必须实现接口中定义的所有方法. interface User{     function getHeight ...

  7. KVO与KVC初步了解

    参考: http://magicalboy.com/kvc_and_kvo/ http://www.mamicode.com/info-detail-515516.html KVC,即是指 NSKey ...

  8. 安装Cocoa 新的依赖管理工具Carthage

    Cocoa的依赖管理器,我们已经有了CocoaPods,非常好用,那么为什么还要创建这样一个项目呢?本文翻译自Carthage的Github的README.md,带大家来了解一下这个工具有何不同之处. ...

  9. Axure草记

    页面控件和DataSet绑定,DataSet和输入控件绑定(通过临时变量) 双击Repeater进入之后,你会发现下面已经默认添加了3行,这代表着,每增加一行将会重复3遍: Repeater可以只是部 ...

  10. iOS 9 适配

    一.iOS9 bitcode首先最大的问题就是坑货xcode7,xcode7默认是打开bitcode的,bitcode是苹果为了解决他自己以后的应用可以随意更换硬件的处理做的准备也就是arm指令集和x ...