web开发之Servlet 一】的更多相关文章

因为最近在研究公司一套新的框架,发现这套框架的底层是对Struts2,Spring 封装后的WEB应用框架,而我发现如果仅仅是利用这个框架开发,确实很容易快速上手,做业务来说是没有问题的,但我觉得如果只对上层如何去用熟悉是不行,必须要学习其底层是如何玩的,而任何一套WEB应用框架的开发,肯定都是基于Servlet 对象中各个方法的生命周期来进行的,因此对Servlet的研究是有必要,虽然以前学过,但是很多原理都遗忘了,为此决定重新学习一下. 本人的开发工具和环境是:Myeclipse + Tom…
有好多年不搞Java Web开发了,这几天正好国庆放假,放松之余也有兴趣回头看看Java Web开发技术的基础. 我们都知道,Servlet是Java Web开发的重要基础,但是由于Servlet开发相对繁琐,代码量庞大而且不易维护,美工无法参与界面设计开发等不足,于是就诞生了jsp.jsp是对servlet开发模型的重要升级.有了jsp,Java Web开发技术才真正被广泛使用. 一.Servlet 在Java Web开发当中,新建一个类继承(派生)自HttpServlet类即可创建一个Ser…
昨天我们学习了Servlet的运行过程和生命周期,那么今天我们学习下Servlet中非常重要的两个类:ServletConfig  ServletContext 我们可以看到,与顶层Servlet主动关联的是ServletConfig  ServletRequest ServletResponse ,它们通过容器传递给Servlet;其中Servlet初始化时候使用ServletConfig,另外两个是请求时调用传给Servlet. 一.ServletConfig 讲解 ServletConfi…
在上一篇文章中,我们演示也证明了Servlet 是一种动态web资源开发的技术,即我可以在浏览器中输入URL,然后就可以在浏览器中看到我们编写的Servlet资源. 那当我们在浏览器上一起一个HTTP请求之后,具体的流程是怎么样的呢?借用LinkinStar博文中的图: 上面这副图讲解了整个HTTP请求到相应的过程,在这里进行下解释: 当在浏览器中输入URL后,会通过hosts文件/dns服务器解析为IP地址,进而找对应的服务器来提供服务,当服务器端收到请求后: 1)分析当前的这个请求访问的是当…
当一个请求到达服务端,服务器怎么处理? 当一个请求到达服务端时,由服务端的引擎来进行分析.它根据工程名找到工程, 然后拿到URL的资源地址和web.XML文件的所有的进行对比,和哪一个对比上就找到了具体的servlet.然后就去创建servlet对象,进行处理. 找到servlet,创建servlet对象后,他的生命周期? 当servlet引擎找到具体的servlet类后,就开始调用它的无参构造器,来创建这样一个对象,创建这个对象之后,调用它的init方法(带参的init()方法,init()方…
js: <!-- ckeditor插件 --> <script type="text/javascript" src="js/ckeditor/ckeditor.js"></script> window.onload = function(){ //将textarea替换ckeditor var yjfx = null;//研究方向 var jj = null;//简介 jj = CKEDITOR.replace('jj'); y…
<!doctype html>01 - JavaEE - Tomcat&Servlet figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-width: 100%; vertical-align: middle; } button, input, select, textarea { color: inherit; font-style: inh…
Vim下的Web开发之html,CSS,javascript插件   HTML 下载HTML.zip 解压HTML.zip,然后将里面的所有文件copy到C:\Program Files\Vim\vimfiles目录下首先,你应该把“ filetype plugin on ”写入你的vimrc.重启vim.新建一个test.html文件.用gvim打开按 ";html"看看会有什么结果!注意";html"是英文的分号(:) css 似乎很久没有关注 Vim 的动向了…
移动web开发之rem适配布局 方案: 页面布局文字能否随着屏幕大小变化而变化 流式布局和flex布局主要针对于宽度布局,那高度如何布局? 怎样让屏幕发生变化的时候元素高度和宽度等比例缩放? 1. rem基础 rem单位 rem(root em)是一个相对单位,类似于em,em是父元素字体大小. 不同的是rem的基准是相对于html元素的字体大小. 比如,根元素(html)设置font-size=12px;非根元素设置width:2rem;则换成px表示就是24px. <body>    &l…
1. Servlet有关概念和前置知识 1.1 什么是动态网页 如果浏览器在不同时刻或不同条件下访问web服务器上的某个页面,浏览器所获得的页面内容可以发生变化,那么这个页面就称之为动态页面. 动态网页与静态网页最明显的区别就是针对页面的访问请求,web服务器在不同的条件下返回给客户端的网页总是不同的. 1.1.1 区分动态网页与动态HTML的概念 要注意区分web服务器端创建的动态网页与使用客户端脚本实现的具有动态视觉效果的网页及Flash动画网页的区别. 虽然后者在浏览器中也可以实现视觉上的…
可能按照书上的demo,自己就能做个小型网站,但是在并发下是什么情况呢?生成了多少对象?对象的关系又是什么?这些问题都要慢慢弄清楚. ------作为后端工程师,不仅要会增删改查,还要了解servlet容器,在生产环境中,怎么处理高并发的请求,怎么提高相应速度,都只有了解了这些组件的工作原理,才能调优,才能和那些菜鸟区别开.了解Tomcat和Jetty,一个应用,怎么弄明白其工作原理.是代码的集合还是对象的集合?代码是有序的,掌握了这种顺序,就理解了它.…
会话 什么是会话? 简单说:用户开一个浏览器,点击多个超链接,访问服务器的多个web资源,然后关闭浏览器,整个过程就称之为一个会话. 会话过程要解决什么问题 每个用户在使用浏览器与服务器进行会话的过程中,都会产生一些数据,程序要想办法为每个用户保存这些数据 例如:用户点击超链接通过一个servlet购买了一个商品,程序应该想办法保存用户购买的商品,以便用户点结账servlet时,结账servlet可以得到用户购买的商品为用户结账. Cookie Cookie的属性 name:Cookie的名字…
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. 我们要获取客户机提交过来的数据,只需要找request对象就行了.要向容器输出数据,只需要找response对象就行了. 下面我们介绍response的主要用法 中文文件名文件的下载 关于编码: 文件内容要用 response.setContextChest() 文件名用URLEncoder.encode() //获取文件的路径 String path = g…
一.转向(Forward) 1.要点说明 转向是通过RequestDispatcher对象的forward()方法来实现的.RequestDispatcher可以通过HttpServletRequest的getRequestDispatcher()方法获得.getRequestDispatcher()方法的参数必须以“/”开始.Forward不仅可以跳转到本应用的另一个Servlet.JSP页面,也可以跳转到另一个文件,甚至WEB-INF文件夹下的文件. 转向通过request.setAttri…
Servlet会在服务器启动或第一次请求该Servlet的时候开始生命周期,在服务器结束的时候结束生命周期.无论请求多少次Servlet,最多只有一个Servlet实例.多个客户端并发请求Servlet时,服务器会启动多个线程分别执行该Servlet的service()方法. 一.重点方法说明 1.init(ServletConfig conf) 加载Servlet时运行此方法,如果load-on-startup为0,则客户端第一次请求该Servlet时加载Servlet,如果load-on-s…
Tomcat的配置及测试: 第一步:下载tomcat,然后解压到任意盘符 第二步:配置系统环境变量 tomcat解压到的D盘 (路径为: D:\tomcat), 配置环境变量: 启动tomcat需要两个环境变量,一个是JAVA_HOME(就是JDK的目录)另一个是CATALINA_HOME(就是你当前所使用的tomcat的目录) 变量配置: 新建->变量名:JAVA_HOME 变量值:D:Java\jdk 新建->变量名:CATALINA_HOME   变量值:D:\tomcat 配置结束,测…
摘要:MVC是一种架构设计模式,该模式主要应用于图形化用户界面(GUI)应用程序.那么什么是MVC?MVC由三部分组成:Model(模型).View(视图)及Controller(控制器). MVC概念 MVC是一种架构设计模式,该模式主要应用于图形化用户界面(GUI)应用程序.那么什么是MVC?MVC由三部分组成:Model(模型).View(视图)及Controller(控制器). Model即应用程序的数据模型.任何应用程序都离不开数据,数据可以存储在数据库中.磁盘文件中,甚至内存中.Mo…
404算是Web工程里最常见的错误代号了.今天做一个小结: 场景:[Tomcat运行正常,但无法访问自己建的项目:404] 结果:在URL拼写正确的情况下,无法访问目标工程任何页面 信息:[404]:not found 分析: 经过多次排查后,发现MyEclipse并没有部署到tomcat的webapp文件夹下,而是部署到了tomcat根目录外的webapp文件夹下 小结: [404错误]:web服务器运行正常,且URL所指向的目标文件未被web服务器查询到 1.(服务器端)工程部署位置:工程未…
一.起始之语 我一直都是在PC上折腾网页的,这会儿怎么风向周边捣鼓起手机网页开发呢?原因是公司原先使用Java开发的产品,耗了不少人力财力,但是最后的效果却不怎么好.因为,Android系统一套东西,iPhone又是新的一套,折腾死人呐. 于是总监发狠,让我把手上的活都交出去,专心折腾web版的,看看最后效果如何. 加上我觊觎手机上的开发学习很久了,于是,一拍即合,搞起了手机开发方面的学习. 分享是很好的提高自身学习的方法.因为分享过程中梳理了所学,往往会有些意想不到的心得与收获.如此利人利已的…
1.Spring与Mybatis整合 web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://x…
本文介绍了如何创建能够适应不同浏览器的XMLHttpRequest实例,建立和发送请求,并响应服务器.您将开始接触最基本和基础性的有关Ajax的全部对象和编程方法:XMLHttpRequest对象.该对象实际上仅仅是一个跨越所有Ajax应用程序的公共线程,您可能已经预料到,只有彻底理解该对象才能充分发挥编程的潜力. XMLHttpRequest简介 XMLHttpRequest 是JS的一个对象.它是介绍 Web 2.0.Ajax 和大部分其他内容的核心.下面给出该对象的几个方法和属性:1.op…
HTTP响应消息 一个HTTP响应代表服务器向客户端回送的数据. 一个完整的HTTP响应包括如下内容: 一个状态行.若干消息头.以及响应正文,其中的一些消息头和正文都是可选的,消息头和正文内容之间要用空行隔开. 例如: HTTP/1.1 200 OK //状态行 Server: Microsoft-IIS/5.0 //消息头,以下都是 Date: Thu, 13 Jul 2000 05:46:53 GMT Content-Length: 2291 Content-Type: text/html…
在vert.x中使用Thymeleaf模板,需要引入vertx-web-templ-thymeleaf依赖.pom.xml文件如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&qu…
前几天看了.NET的EF(Entity Framework),发现居然有这么先进的东西,只要操作几个类就可以完成数据库的增删查改,而且可以用数据库直接导出类(DB First).也可以用类来生成数据库(Code First),简直太先进了. 之前用EF做一个API服务的网站,每次要添加一条方法就要在View来解析传来的QueryString,然后调用Controller 来执行对数据库的增删查改.其实之前就一直都是听说过WebAPI,虽然一直没用过.今天抽空查了一下,完全符合我的应用需求——AS…
Firebug: Firebug 是firefox中最为经典的开发工具,可以监控请求头,响应头,显示资源加载瀑布图: HttpWatch: httpwatch 功能类似firebug,可以监控请求头,响应头,显示资源加载瀑布图.但是httpwatch还能显示GZIP压缩信息,DNS查询,TCP链接信息,个人在监控http请求比较喜欢使用httpwatch, httpwatch包含IE和firefox插件.不过httpwatch专业版本是收费的,免费版本有些功能限制. DynaTrace's Aj…
如果你是一个开始接触移动Web开发的前端工程师,那么你或许也遇到了和我曾经遇到的过问题:有太多新的概念需要掌握,太多相似的概念需要区分.没关系,我将用两篇文章的篇幅来解决这些问题.上篇文章关于解释和区分一些入门级别概念. 这些概念你或许一直在各种场合看到或者听说,好像熟的很,但你真的了解它们背后的含义吗?下篇文章我们就需要用到这些概念,聊一聊移动设备上的图片加载方案.至于响应式设计,已经有太多写的非常好的文章来叙述它们,这次在这里我就不赘述了. 我们先从听说最多一个概念——PPI开始. PPI…
REST介绍 如果要说什么是REST的话,那最好先从Web(万维网)说起. 什么是Web呢?读者可以查看维基百科的词条(http://zh.wikipedia.org/zh-cn/Web),具体的我就不多说了.总之,Web是我们在互联网上最常用的服务,甚至在某些人的心中,互联网就是Web.当然,Web只是互联网的一部分而已,只是大家用的最多而已,我们访问的所有网站都是基于Web. 那么,Web和REST之间究竟有什么关系呢?我们接下来将聊聊组成Web的几大基础技术,URI(统一资源标识符,用来标…
上一篇介绍了python-web.py的开发,本节课我们详细说明django的开发与使用. 简介及可以学习到的内容: 1.Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. 2.Django是一个开放源代码的Web应用框架,由Python写成. 3.Django采用了MVC的软件设计模式,即模型M,视图V和控制器C. 4.django安装 5.django创建第一个项目 6.django模板 7.django模型 8…
前面的话 iOS版Safari为了向开发人员传达一些特殊信息,新增了一些专有事件.因为iOS设备既没有鼠标也没有键盘,所以在为移动Safari开发交互性网页时,常规的鼠标和键盘事件根本不够用.随着Android 中的WebKit的加入,很多这样的专有事件变成了事实标准,导致W3C开始制定Touch Events规范.本文将详细介绍移动端touch事件 概述 包含iOS 2.0软件的iPhone 3G发布时,也包含了一个新版本的Safari浏览器.这款新的移动Safari提供了一些与触摸(touc…
目录 Webjar /** 访问当前项目的任何资源 欢迎页 标签页图标 Webjar 开始讲到Spring Boot的Web开发了,先介绍Webjar,这个其实就是把一些前端资源以jar包的形式导入到我们的项目中,关于好处可以去官网查看,比如借助Maven不用自己去找去导入,例如可以很清楚的查看一些依赖关系,官网地址: Webjar ,我们这里下载一个Jquery的Webjar包,采用Maven的形式导入到我们的Spring Boot项目中 我们可以看到这样的 这个默认是从Webjar下面开始访…