前言 在初学Java web的时候,就曾听到过这样一种说法: java Web的演变过程大概可以分为4个阶段: jsp + Servlet + jdbc spring + struts2+ hibernate(ssh) spring + SpringMVC + mybatis(ssm) 微服务阶段. 所以学习 Java web,可以从第3个阶段开始学习,不用再去关注Servlet,那么Servlet是否还有学习的必要呢? 答案是有,并且非常重要.俗话说万变不离其宗,这个宗指的就是技术的底层,你会…
由于公司的项目才接触到ABP这个框架,当时就觉得高大上,什么IOC.AOP.ddd各种专业词汇让人激情 澎湃,但在使用过程中碰到了许多坑,可能也许是没有去看源码导致的,但工作确实没有那么多时间让人去慢慢研究.很久之前想手动搭建这个框架了,但是各种理由,你懂的.但是要在技术上得到大的提升就得静的下心去研究,学到大神的思想和精髓,运用到实际中去,才能去体验更开阔的天地. 本文以创建博客为思路,一步步构建整个项目,在摸索中进步,也希望能够帮助到有需要的人. 一.基础架构 第一部分主要是搭建好整个项目的…
更新:这几天对spring3的理解又进了一步,今天抽空把这篇文章中的错误和不当之处做了修改. 最近的项目在用Spring3,涉及到了基于注解的MVC,事务管理,与hibernate的整合开发等内容,我打算写一个系列出来,记录下这个痛苦但又充满成就感的过程----网上实在太难找能让新手快速理解掌握的文章了 这篇文章专门针对使用Spring3进行开发的新手,高手就请绕道吧,也欢迎拍个砖再走... 我打算从这几个方面写:1.开发环境确认    2.Spring3的jar包    3.Spring3项目…
win7/win8下手工搭建WAMP环境. 最近学习wamp,看了好多教程,出来好多问题,终于成功搞定,这里集合了一下最好的教程,写了一些自己的经验,希望大家有用 这里不能上传图片,我就写了个带pdf的图片放在csdn上了,我就发在http://download.csdn.net/detail/juandx/7931287里,大家可以自己下载 PHP环境的搭建通常是学习PHP的第一步,那么今天我们就来看一下应该怎样搭建PHP的环境,这次是在windows8上搭建的,其实也无所谓win7还是win…
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4.Eclipse安装 一.前言 本篇博文记录了Linux下Java环境的安装过程 本文内容基于以下文章: http://developer.51cto.com/art/200906/129164.htm  (手把手教你Linux下的Java安装)http://www.cnblogs.com/caosi…
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. tomcat安装4. tomcat简单命令 一.前言 本篇博文记录了Linux下JavaWeb环境的搭建,本文内容基于以下文章: http://m.blog.csdn.net/article/details?id=7727927(ubuntu下搭建java web开发环境的详细步骤)http://bl…
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一.前言 本篇博文记录了Linux下Ruby编程环境的搭建. 本文内容基于以下文章:http://www.cnblogs.com/xfiver/archive/2012/03/08/2385833.html (linux下ruby安装[ubuntu10.10])http://www.360doc.co…
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入.MyBatis的学习我们也从一个小例子开始. 1.MyBatis的作用: 简单的说MyBatis实现的是DAO层,通过XML文件配置SQL,映射到PO. 2.需要准备的引用包 mybatis-3.2.8.jar:myBatis框架使用 ojdbc6.jar:数据库连接 3.结构分析 1)需要配置文件连接数据库…
Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里,我们采用这样的策略来模拟环境,我们使用3台ubuntu机器,1台为作主机(master),另外2台作为从机(slaver).同时,这台主机,我们就用第一章中搭建好的环境来. 我们采用与第一章中相似的步骤来操作: 运行环境搭建 在前面,我们知道,运行hadoop是在linux上运行的.所以我们单机就在…
概述: 工作闲暇时间想要自己搭建一个web项目玩玩,没想到大半天才弄了一个springMVC+mybatis的网站,简直菜的不行,以下记录所有的步骤加深印象 使用环境 1.jdk1.8 2.maven 3.3.9 3.eclipse 4.6 4.tomcat 8.0 5.mysql 源码放在百度云 http://pan.baidu.com/s/1c5IlR4 简单说一下注意事项 1.jdk 注意配置环境变量,配置JAVA_HOME,path等,验证如下 2.maven配置环境变量,配置MAVEN…
本篇将讲诉Servlet中一项非常重要的技术,Filter过滤器技术.通过过滤器,可以对来自客户端的请求进行拦截,进行预处理或者对最终响应给客户端的数据进行处理后再输出. 要想使用Filter过滤器,非常简单,只要实现Servlet  API中的Filter接口即可,同时在该web应用[WEB-INF]目录下的web.xml文件中配置<filter>和<filter-mapping>两个标签.其中可以根据配置指定过滤的页面或者Servlet. 也就是说我们在web工程中光光写Fil…
在本篇的Servlet的学习中,主要来学习由使用MyEclipse来开发Servlet的一些小细节. 细节一:在web.xml中可以对同一个Servlet配置多个对外访问路径,并如果在web.xml中配置的信息服务器会自动加载部署,而如果是在Servlet中进行程序代码的修改,则每次都要重新部署. 首先,在使用MyEclipse创建Servlet后,会根据所创建的Servlet进行到web.xml文件的映射,如下图所示: 经过这个映射之后,在web.xml文件中就自动生成了这个Servlet的配…
在本篇中,我们来使用Session完成一个用户登录的案例,前提声明:这个案例主要用于学习Session技术,是属于比较简单的类型,以后会采用MVC模式来开发登录,那就会比较复杂. 现在大多数网站都提供登录功能,而我们之所以登录要使用到Session,在于当一个网站不同的页面里面都需要判断用户是否已经登录才能显示某些具有网站会员权限的功能,所以使用Session对象来保存用户登录标志最合适不过,同时,当用户注销登录时,也需要将Session中的用户标志移除,这样用户在继续访问网站或该网站其他页面时…
在上一篇<Servlet的学习之Session(2)>我们知道了Session能实现一个会话过程中保存数据或者多个会话中实现同一个Session的关键因素就是Cookie,只是Cookie是否临时的还是保存硬盘中一段时间而已. 但不是所有的用户的浏览器都会保持着接收Cookie,当有些用户的浏览器禁用Cookie或者第三方安全工具阻止了Cookie之后,那么Session就再也无法保存数据了. 我们通过IE浏览器的[工具]--->[Internet选项]--->[隐私]--->…
在上一篇中我们学习了Session对象默认在一个会话过程中,由服务器创建,能保存在这个会话过程中用户访问多个web资源时产生的需要保存的数据,并在访问服务器中其他web资源时可以将这些数据从Session中取出并为之使用. 然而在一个会话过程后就将无法再取到Session对象(因为cookie不存在了,原因下面将阐明),可能导致的是用户误将浏览器关闭而使保存在Session中的数据无法再取到,因此如果我们能将多个会话同时使用同一个Session对象就能满足用户“刁蛮”的需求. 在前一篇的最开始就…
在学习完了Servlet中的Cookie技术后,我们再来学习另一个能保存会话数据的技术——Session. Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,注意是默认情况下,一个浏览器独占一个session,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自数据存放在各自的session中,当用户再去访问服务器的其他web资源时,其他web资源再从用户各自的session中取出数据为用户服务.…
从本篇开始学习Servlet技术中的Cookie专题. 首先来了解什么是“会话”.会话是web技术中的一个术语,可以简单的理解为:用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,这个过程称为一个会话. 如果在打开一个浏览器访问一个页面后,再打开一个浏览器访问同一个页面,那这就是有两个会话:而打开一个浏览器访问一个页面后,通过这个页面上的某个超链接是从新的浏览器打开的,那依然只算一个会话. 每个用户在使用浏览器与服务器进行会话的过程中,各自不可避免地会产生一些数据,而…
本篇接上一篇,将Servlet中的HttpServletRequest对象获取RequestDispatcher对象后能进行的[转发]forward功能和[包含]include功能介绍完. 首先来看RequestDispatcher对象的“转发”功能: 在<Servlet的学习(五)>中说过,使用ServletContext对象的getRequestDispatcher方法可以获得转发对象RequestDispatcher对象,将请求进行转发给其他的Servlet或者JSP处理,同时在该篇的结…
在上一篇<Servlet的学习(十)>中介绍了HttpServletRequest请求对象的一些常用方法,而从这篇起开始介绍和学习HttpServletRequest的常用功能. 使用HttpServletRequest可以防止盗链行为,什么是盗链行为,比如说在一个别的网站上超链接,指向我们的网页中的某个数据,这样从他的网页上就可以直接进入到我的某个页面,无需从我的指定路口进入: 例如在一个简单的1.html文件中加入了我的[myservlet]web应用下的某个Servlet访问的超链接:…
本篇来说明响应对象HttpServletResponse对象的最后一点内容. 首先来看响应对象控制浏览器定时刷新,在我的web应用[myservlet]中创建Servlet,在该Servlet中设置响应头,定时刷新的代码很简单: response.setHeader("refresh", "3 "); //3秒刷新一次 就可告知浏览器3秒刷新一次网页.当然“Refresh”响应头还是可以定时跳转到指定页面,如下代码: response.setHeader("…
本篇接上一篇<Servlet的学习之Response响应对象(1)>,继续从HttpServletResponse响应对象来介绍其方法和功能. 使用setHeader方法结合HTTP协议的content-disposition响应头可以将某些web资源以下载方式回传给客户端.但是在下载中文文件的时候会有一些问题,这问题会怎么发生呢? 我们现在来进行从客户端向服务器端下载一个图片文件,先在MyEclipse的自创建[myservlet]web工程下准备一个图片文件,放置在web目录下的[down…
在之前学习了Servlet中的主体结构,包括Servlet的生命周期方法,和非生命周期方法能获取的一些非常重要的对象如ServletConfig.ServletContext对象等,而从这篇开始我们将开始学习请求对象HttpServletResponse对象和响应对象HttpServletRequest对象. 在本篇中先从响应对象HttpServletResponse对象开始说起,主要讲诉请求对象HttpServletResponse对象获取IO流向客户端传输数据会碰到的中文乱码问题. 从前面h…
本篇接上篇<Servlet的学习(五)>,继续从ServletContext对象中的方法进行学习,在这一篇中,我们重点关注的是ServletContext对象中对于在web工程中的资源文件的读取方法. ServletContext类中有这么四个方法: getRealPath(String path) getResource(String path) getResourceAsStream(String path) getResourcePaths(String path) 这四个方法都使用we…
本篇接上一篇<Servlet的学习(二)> ,主要讲诉如何使用MyEclipse来开发Servlet,和导入Servlet所需要的源代码. 现在我们来创建一个web应用,就叫[myservlet]好了,如下图所示: 可以从项目窗口中看出,只要创建web工程,就会自动帮我们创建[WEB-INF]目录,并在其下创建[lib]目录和web.xml文件.我们顺便来看一下刚创建的web.xml文件内容: Web.xml文件中只有设置主页而已,为什么先看这个,稍后会说到. 我们当然可以按照<Serv…
本篇接上一篇<Servlet的学习(一)>,讲述如何利用MyEclipse来创建web工程, 同时讲述如何在MyEclipse中配置Tomcat服务器. 在MyEclipse中,新建“Web Project”,会看到: 我们需要注意的有以下几点: [Project Name]:工程名,代表了这个web应用所在目录名,当在服务器中发布这个web应用时,在Tomcat的[webapps]目录下,就会产生这个目录,所以对于截图来说,就会有一个[myservlet]目录. [Source folder…
初识Servlet Servlet是一门专门用于开发动态web资源的技术,Sun公司在其API中提供了一个Servlet接口(当然,我们不会去直接实现这个接口,而是去继承其实现类会更好),因此,狭义的Servlet是指这个接口,广义的Servlet是指任何实现了这个Servlet接口的类. 使用Servlet开发一个动态web资源,其实就是开发一个Java程序向浏览器输出数据. Servlet其实就是一个运行在服务器上得Java程序,Servlet是J2EE十三门技术中的一种,因此我们不能去看J…
为了防止不提供原网址的转载,特在这里加上原文链接: http://www.cnblogs.com/skabyy/p/7295533.html ABP是 ASP.NET Boilerplate Project 的简称.ABP是基于DDD(领域驱动设计)的框架.ABP包含众多组件,包括依赖注入.动态API.审计日志.权限控制等等.在大部分的ABP教材中,会推荐使用模板(https://aspnetboilerplate.com/Templates)来创建ABP工程.然而在实际使用中(至少在我的情况里…
系列文章: 1. 手工搭建环境 1. 基础环境准备 准备 3个Ubuntu节点,操作系统版本为 16.04,并做好以下配置: 系统升级 设置 /etc/hosts 文件,保持一致 设置从 0 节点上无密码ssh 其它两个节点 节点名称 IP地址 etcd flanneld K8S docker kub-node-0 172.23.100.4 Y Y master: kubctl kube-apiserver kuber-controller kuber-scheduler Y kub-node-…
java servlet API学习网址: http://tomcat.apache.org/tomcat-7.0-doc/servletapi/ http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/package-tree.html 一.API 概述 二.Tree Hierarchy For All Packages Package Hierarchies: javax.servlet, javax.servlet.…
从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力.虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果.从技术角度来说是为了解耦,通过标准化接口来相互协作.既然接口是连接 Servlet 与 Servlet 容器的关键,那我们就从它们的接口说起. 前面说了 Servlet 容器作为一个独立发展的标准化产品,目前它的种类很多…