转载自http://www.cnblogs.com/lys_013/archive/2012/05/05/2484561.html 1. 协议 a. TCP/IP整体构架概述 TCP/IP协议并不完全符合OSI的七层参考模型.传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务. 该模型的目的是使各种硬件在相同的层次上相互通信.这7层是:物理层.数据链路层.网路层.传输层.话路层.表示层和应用层.而TCP/IP通讯协议采用 了4层的层级结构,每一层都呼叫它…
原文链接: https://www.iteye.com/topic/470019 1. 协议 a. TCP/IP整体构架概述 TCP/IP协议并不完全符合OSI的七层参考模型.传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务.该模型的目的是使各种硬件在相同的层次上相互通信.这7层是:物理层.数据链路层.网路层.传输层.话路层.表示层和应用层.而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.这4层分别为:…
1. 协议 a. TCP/IP整体构架概述 TCP/IP协议并不完全符合OSI的七层参考模型.传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务.该模型的目的是使各种硬件在相同的层次上相互通信.这7层是:物理层.数据链路层.网路层.传输层.话路层.表示层和应用层.而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.这4层分别为: i. 应用层:应用程序间沟通的层,如超文本传送协议(HTTP).简单电子邮件传输(…
Web开发的最重要的基本功能是HTTP:Java Web开发的最重要的基本功是Servlet Specification.HTTP和Servlet Specitication对于Web Server和Web Framework的开发实现来说,是至关重要的协议规范. 1 Java Web程序工作原理 Tomcat的Server.xml文件中定义了网络请求路径到主机本地文件路径的映射.比如,<context path="yourapp" docBase="yourapp_d…
之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响应,从本质上来说这些都是观察者模式的具体实现,在web程序中的监听器也不例外.在Java Web程序中使用监听器可以通过以下两种方法:通过注解@WebListener来标识一个自定义的监听器:[java] view plain copy@WebListener public class Custom…
在Java Web程序中使用Hibernate与普通Java程序一样.本文中将使用Servlet和JSP结合Hibernate实现数据库表的增删改查操作. Web程序中,hibernate.cfg.xml中必须配置current_session_context_class参数.如果使用JBoss等内置Hibernae的容器,参数值要配置为jta,其他容器(如Tomcat等)需要配置为thread. 1. 创建工程并搭建Hibernate框架 在MyEclipse中创建一个Web工程,工程名为hi…
在Web项目中,js.css合并压缩,不仅有利于减少Http请求数量.减少宽带资源占用,还能有效的管理各种js.css的引入,使整个项目更加有序.而对于访问用户来说,其更大的好处是增加了页面的打开速度,大大提升了用户体验. 所以,互联网各类网站,会通过各种手段,对静态文件进行合并.压缩,动静分离,使用CDN加速等.以此达到网站访问速度的优化.everycoding.com官网使用的是Java语言开发.因此使用了Java 方面的第三方Jar:wro4j来压缩Js.CSS.本文主要介绍Java We…
一.前言 类加载器实战系列的第六篇(悄悄跟你说,这篇比较水),前面5篇在这里: 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得,我可能发现了Jar 包冲突的秘密 重写类加载器,实现简单的热替换 @Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码   最近事不算多,所以有点时间写博客,昨天写着写着,测试的同学反馈说有一个bug.我看了下服务端日志,空指针了: 下面会给出…
Zookeeper集群中server数量总是确定的,所以集群中的server交互采用比较可靠的bio长连接模型:不同于集群中sever间交互zookeeper客户端其实数量是未知的,为了提高zookeeper并发性能,zookeeper客户端与服务器端交互采用nio模型.下面我们主要来讲讲zookeeper的服务器端与客户端的交互.读者对nio不了解的话不妨抽点时间去了解下,对于一些nio框架如netty,mina再如一些web容器如tomcat,jetty底层都实现一套nio框架,对于实现ni…
一.前言 这篇算是类加载器的实战第五篇,前面几篇在这里,后续会持续写这方面的一些东西. 实战分析Tomcat的类加载器结构(使用Eclipse MAT验证) 还是Tomcat,关于类加载器的趣味实验 了不得,我可能发现了Jar 包冲突的秘密 重写类加载器,实现简单的热替换    进入正文,不知道你有没有这样的时候,在线上或者测试环境,报了个bug.这个 bug 可能是: 从数据库.redis取了些数据,做了一些运算后,没抛异常,但是就是结果不对 抛了个空指针异常,但是看代码,感觉没问题,是取出来…
有很多Web程序中第一次登录后,在一定时间内(如2个小时)再次访问同一个Web程序时就无需再次登录,而是直接进入程序的主界面(仅限于本机).实现这个功能关键就是服务端要识别客户的身份.而用Cookie是最简单的身从验证. 如果用户第一次登录,可以将用户名作为Cookie写到本地,代码如下: Cookie cookie = new Cookie("user", user); cookie.setMaxAge(365 * 24 * 3600); cookie.setPath("/…
首先说下问题:matlab可以把相关算法代码打包成jar文件共java调用,本例使用的jar文件的作用是画图并保存,然后部署在linux的tomcat中进行发布.这里出现了一个问题,具体如下:linux机器是在我的虚拟机上面(可以作为一个远程服务器A),所以我使用xmanager连接A机器,然后启动tomcat进行web程序的部署,然后使用浏览器访问发布的web程序,然后运行测试ok.但是,当我发布tomcat程序后把xmanager关闭后,再次访问web程序,出现错误,保存不了图片.(另外,如…
Spring MVC + Spring + Mybitis是除了SSH外的另外一种常见的web框架组合. Java web开发和普通的Java应用程序开发是不太一样的,下面是一个Java web开发在Eclipse EE中的目录结构: 普通的Java应用开发,我们的代码都在src目录下,不论是Java代码,配置文件,还是资源文件等.而Java web开发,我们关注的不是src目录,而是WebConent目录,发布项目时最终会将WebConent目录下的所有文件打成war包进行发布. WebCon…
问题描述:由于最近项目需要使用Mac地址与注册码进行加密处理,但是又因为Web程序的局限性不能获取客户端电脑系统信息,当然IE浏览器有一个activex控件他是可以通过Js在前端代码中直接获取的,局限性太小放弃.我的实现方法是通过windows服务嵌套一个HttpService服务实现.本人初级菜鸟希望有大佬看到能有多多指教,同时也记录下来加深自己的印象.大概实现步骤如下 一 创建一个winform项目 二 在根目录下创建一个windowsService服务名称随意,本文中取得是Service1…
在新浪云新手指南里有部署java的示例,但是对一个新手来说难免会有一些地方犯错,折腾了好长时间才把自己的java web部署到了新浪云.这里主要写一些我遇到的问题与第一次使用新浪云的朋友分享一下. 首先需要注册用户拿到500云豆,实名认证还可以再拿2000云豆,然后注册java web应用.注意了,每注册一个应用都要扣100云豆的,不要注册着玩,俺就是一不小心两百云豆没了. 你可以创建一个最简单的测试应用,假设你的应用名字叫testSinaApp,通过web页面上传war包会自动创建版本1,那么…
项目目录如下(IDEA社区版好像无法识别webapp目录?原因见https://www.cnblogs.com/bityinjd/p/9284378.html): 工具:  IDEA 1.首先使用maven创建最简单的maven程序,groupId为com.admin,artifactId为SpringMVC, 然后修改pom.xml,添加jar包 <?xml version="1.0" encoding="UTF-8"?> <project xm…
一.Java Web框架技术的概念 所谓的Java框架,简单理解是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计.协作构件之间的依赖关系.责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系.Struts.Hibernate和Spring是Java开发中的常用框架,他们分别针对不同的应用场景给出最合适的解决方案. 二.Java Web框架技术发展过程 传统的Java Web应用程序是采用JSP+Servlet+Javabean…
大二期末 java web.用到数据库,jdbc.myeclipse实现用户的注册,登陆 并且不能出现500错误,用户不能重复注册.当用户任意点击时也不能出现500错误! 这里.我只写注册成功的页面.这个不让用户重复注册 当时老师对我各种扣分.可后来.我问他的时候,他说不出来.我不是那个第一个提交作业的学生,可我的分数却比他低,我的功能比他多一个好吧 无所谓啊  谁叫我那么背时,再也不想问了.特别烦躁了 registerOk.jsp <body> <% String name=reque…
今天是java web上机.做一个登陆注册的界面.要求:jsp.mysql数据库,js做一个美观的界面.功能.可以添加 更多啊.我做的界面被老师狠狠的扣了分.问题在于.当用户没有输入任何信息(没有输入用户名和密码)就直接提交的 时候,页面显示500错误,这里改正的方案2点.我是这么想的.1.要么是提交时弹出一个对话框.显示用户名和密码为空!.这里 要注意的是,弹出的对话框不能阻止用户输入信息,弹出后,依然让用户输入.2.要么是提交按钮后依然跳转到本页面.因为一个form表单 只能跳转到一个页面,…
web项目有目录结构要求 WEB-INFO 文件夹 是一个Servlet规范,必须要这么命名,在换个文件夹里面如果创建一个jsp文件是不能直接访问的,在WEB-INfO文件夹之外创建的jsp可以直接访问 WEB-INFO下也有目录结构要求,如下图 web.xml Servlet是个接口,接口有5个必须实现的方法 想实现java web 必须实现这5个方法destroy()   getServletConfig()   getServletInfo()    init(ServletConfig…
1.Socket简介 在网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定. 在Java环境下,Socket编程主要是指基于TCP/IP协议的网络编程.也就是说在Java环境下我们实现基于TCP/IP协议的网络编程需要采用Socket机制.Socket编程比基于URL的网络编程提供了更高的传输效率.更强…
浅析ContextLoaderListener 大家可能对下面这段代码再熟悉不过了 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class&g…
开发工具:eclipse-jee-juno-SR2-win32-x86_64(请自行官网下载) 使用服务器:apache-tomcat-7.0.35-windows-x64(请自行官网下载) 打开 eclipse : 在打开之前压迫先安装JDK1.7 因为eclipse需要JDK 步骤阅读 2 找到'window' 下 'Preferences’ 单击‘Preferences’ 步骤阅读 3 找‘Preferences‘ 找到 Server --- Rntime Evironment 步骤阅读…
最近一个项目中要点击WEB页面上的链接启动自己编写的程序,而且还要接收参数,google了1.5小时,终于初步试验通过了. 尝试google了:web send message windows form, bs call cs program, custom protocol...多个关键字组合,发现这种技术叫 registered URL protocol,在这篇文章里介绍得比较详细: http://msdn.microsoft.com/en-us/library/aa767914(v=vs.…
依次选择 File——New——Web——Dynamic Web Project 输入项目名称“MyWebProject”,选择好Apache Tomcat V9.0服务器,其他采用默认配置. 单击Next,修改 Default output folder 为 WebRoot\WEB-INF\classes,这样Eclipse会把编辑好的文件自动部署到WEB-INF目录下的classes目录中.   修改 Content directory文本框的值为WebRoot(一定要与Default ou…
重点:注意大小写,不注意细节,这点小事,还需要请教 发现一个问题,也是老师当时写的时候,发现代码没错,但是就是运行问题. 大家看,那个java类,我们要求是所有属性均为私有变量,但是方法为公有的,如果方法为不公有的,那么运行就一定有问题,一定声明为public.不写修饰符,就是不对. 这样程序可以运行了,细节.这就是我觉得老师很棒的原因. 一个表单 deng.jsp <body> <form action="c.jsp"> 用户名:<input type=…
application的主要方法里,有log方法,是日志文件里可以查看到信息的. 当老师写好代码后,他发现在tomact里的log目录下找不到信息,原因是:我们用myeclipse这个客户端软件,应该把服务器关闭,而是去bin目录下,手动开启服务器 即startup.bat.这个文件,然后在log目录下查到了信息: 这里有截图,我输入的用户名,这里当程序运行后是个空白页面,只有到log目录下才可以查看到信息. 代码: login.jsp <body> <form action="…
1.在web.xml中添加: <resource-ref>    <res-ref-name>jdbc/MTSDB</res-ref-name>    <res-type>javax.sql.DataSource</res-type>    <res-auth>Container</res-auth> </resource-ref> 2.在tomcat的context.xml中配置数据源: <Resour…
关注微信公众号"程序员成长日志",回复关键字"java"扫码进群 本群主要为大家解决工作中遇到的问题遇到的问题发到群里大家集思广益平时可以瞎扯不定期红包…
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.XXXX.com/ 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的…