web开发小节.txt
我最近一直在看这个的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的更多相关文章
- 通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core? .Net Web开发技术栈
通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core? 什么是.NET?什么是.NET Framework?本文将从上往下,循序渐进的介绍一系列相关.NET的概念 ...
- java WEB开发入门
WEB开发入门 1 进入web JAVASE:标准- standard JAVA桌面程序 GUI SOCKET JAVAEE:企业-浏览器控制 web 2 软件结构 C/S :client ...
- Web开发基本准则-55实录-Web访问安全
Web开发工程师请阅读下面的前端开发准则,这是第一部分,强调了过去几年里我们注意到的Web工程师务须处理的Web访问安全基础点.尤其是一些从传统软件开发转入互联网开发的工程师,请仔细阅读,不要因为忽视 ...
- 移动Web 开发中的一些前端知识收集汇总
在开发DeveMobile 与EaseMobile 主题 的时候积累了一些移动Web 开发的前端知识,本着记录总结的目的,特写这篇文章备忘一下. 要说移动Web 开发与传统的PC 端开发,感觉也没什么 ...
- 作为一个web开发人员,哪些技术细节是在发布站点前你需要考虑到的
前日在cnblogs上看到一遍文章<每个程序员都必读的12篇文章>,其中大多数是E文的. 先译其中一篇web相关的”每个程序员必知之WEB开发”. 原文: http://programme ...
- Flask —— 使用Python和OpenShift进行即时Web开发
最近Packtpub找到了我,让我给他们新出版的关于Flask的书写书评.Flask是一个很流行的Python框架.那本书是Ron DuPlain写的<Flask 即时Web开发>.我决定 ...
- Web开发——Http协议剖析
Http,即超文本传输协议,是建立在TCP/IP协议的基础上.在Web开发的过程中,Http协议是十分重要的,浏览器与服务器之间的交互就是基于Http协议的.Http协议如果展开全面讲解会有很多内容, ...
- Web开发需要关注的技术细节
摘要:在网站发布前,开发者需要关注有许多的技术细节,比如接口设计.用户体验.安全性.Web标准.性能.SEO等,倘若一个疏忽就会影响到整体的体验效果.作为一名Web开发者,哪些技术细节需要考虑呢? [ ...
- 【转】web开发需要知道的事情
在StackExchange上有人问了这样一个问题:What should every programmer know about web development?(关于Web开发,什么是所有程序员需 ...
随机推荐
- $.extend(),与$.fn.extend() 讲解
$.extend(),与$.fn.extend() 讲解(一) (2013-07-11 10:24:31) 转载▼ 转自:http://blog.sina.com.cn/s/blog_a3bd3bd0 ...
- 国庆第六日(2014年10月6日11:51:15),node-webkit,理财产品
(1)node-webkit:一篇很好的入门文章.入门.系列. 在window下的打包和运行.大漠的一篇讲解文章 . (2)lighttable: 官网. (3)现在的理财产品,雨后春笋般冒出:宝点网 ...
- 2016.08.07计算几何总结测试day2
T1 bzoj: [Usaco2010 OPen]Triangle Counting 数三角形 看到这个题n那么大, 于是想到极角排序搞一搞,然而排完序后立马懵逼,完全不知道接下来应该怎么写.... ...
- As3 里的正则相关
用正则的时候 不要用if(content.match("test").length > 0) ...; 改成 if(content.match(/test/g).length ...
- jquery 之事件 多库共存(noConflict)
/*jquery 之 简单事件jquery 与其它库共存,提供了 .noConflict() 方法,用法如下<script src="jquery 库"><scr ...
- jquery ajax post, get, javascript ajax post, get 处理
ajax 创建 XMLHttp 对象IE7 以上的版本都支持 XMLHttpRequestIE7 以下的用 ActiveXObject async:true, // 当false 时,当执行完这个才 ...
- HTML css面试题
1.对WEB标准以及W3C的理解与认识 标签闭合.标签小写.不乱嵌套.提高搜索机器人搜索几率.使用外链css和js脚本.结构行为表现的分离.文件下载与页面速度更快.内容能被更多的用户所访问.内容能被更 ...
- ASP.net+MVC--2
1.ASP.NET MVC控制器 1)在Controllers文件夹下新建控制类 public class HelloWorld2Controller : Controller { public st ...
- Java RMI(远程方法调用)开发
参考 https://docs.oracle.com/javase/7/docs/platform/rmi/spec/rmi-arch2.html http://www.cnblogs.com/wxi ...
- 浅谈JavaScript词法分析步骤
JavaScript代码运行前有一个类似编译的过程即词法分析,词法分析主要有三个步骤: 分析参数 再分析变量的声明 分析函数声明 具体步骤如下: 函数在运行的瞬间,生成一个活动对象(Active Ob ...