JavaWeb(一)
Web应用程序开发是目前软件开发领域的三大方向之一。
静态网页与动态网页
- 静态网页
- 表现形式:网页的内容是固定的,不会更新;
- 使用的技术:HTML,CSS
- 动态网页
- 表现形式:网页中的内容通过程序动态显示,自动更新;
- 所需技术:HTML,CSS加(JavaScript, XML等)
- 主流的动态网页脚本技术:Jsp/Asp.net/Php
Tomcat目录结构:
Web应用程序的步骤:
在WebAPPs创建项目目录 ——》 编写index.jsp ——》 创建WEB-INF目录 ——》测试运行
WEB-INF目录结构:
- WEB-INF是java的WEB应用的安全目录。所谓安全就是客户端无法访问,是有服务端可以访问的目录;
- web.xml,项目部署文件;
- classes文件夹,用以放置*.class文件;
- lib文件夹,用于存放粗腰的jar包。
- 修改Tomcat服务器默认端口号需要修改的配置文件是server.xml
JSP语法:
- page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令;
- <%@ page language="java" import="属性值" contentType="text/html"%>
- include指令:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的JSP语句;
- taglib指令:使用标签库定义新的自定义标签,在JSP页面中启用定制行为
- JSP脚本:<% ..........%>
- JSP生命:<%! ............%>
- JSP表达式:<%=表达式 %> 表达式不以分号结束
- jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。以多线程方式执行可以大大降低对系统的资源需求,提高系统的并发量及响应时间。但也要注意多线程编程带来的同步问题,由于该Servlet始终驻于内存,所以响应起来是非常快的。
- jspInit()只会运行一次;而jspService()会一个线程运行一次
JSP页面的生命周期:用户发出请求index.jsp-》tomcat看是否是第一次请求-》是,则JSP引擎把该JSP问价转换成一个Servlet,生成字节码文件,并执行jspInit()-》生成字节码文件-》解析执行.jspService()(用来处理用户的请求)
- JSP内置对象——是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象。(九大内置对象)
- out:是JspWriter类的实例,是向客户端输出内容常用的对象。
- println(), clear(), clearBuffer(), flush(), getBufferSize(), getRemaining(), isAutoFlush(), close()
- request/response:
- get与post的区别:
- <form name="regForm" action="动作" method="提交方式"> </form>
- get:以明文的方式通过URL提交数据,数据在URL中可以看到。提交的数据不能超过2KB。安全性低但效率较高。适合提交数据量小,安全性不大的数据。如搜索、查询等功能;
- post:将用户提交的信息封装在HTML HEADER内。适合数据量大,安全性高的用户信息。如注册、修改、上传等功能。
- Request对象:
- 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效;
- Response对象:
- 请求转发与请求重定向的区别:
- 请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变;
- 请求转发:服务器行为,request.getRequestDispatcher().forward(req, resp);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。
- get与post的区别:
- session:表示客户端与服务器的一次对话
- Web中session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。
- session对象在第一个JSP页面被转载时自动创建,完成会话期管理;
- 当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象;
- session对象是HttpSession类的实例
- application:
- application对象实现了用户间数据的共享,可存放全局变量;
- application开始于服务器的启动,终止于服务器的关闭;
- 在用户的前后连接或不同用户之间的连接中,可以对application对象的同一属性进行操作;
- 在任何地方对application对象属性的操作,都将影响到其他用户对此的访问;
- 服务器的启动和关闭决定了application对象的生命;
- application对象是ServletContext类的实例。
- setAttribute(), getAttribute, getAttributeNames(), getServerInto();
- page:
- page对象就是指向当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类的实例;
- pageContext对象
- 提供了对JSP页面内所有的对象及名字空间的访问;
- 可以访问到本页所在的session,也可以
- Config对象:
- config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性构成)以及服务器的有关信息(通过传递一个ServletContext对象),常用方法有:
- ServletContext getServletContext()返回含有服务器相关信息的ServletContext对象;
- String getInitParameter(String name)返回初始化参数的值;
- Enumeration getInitParameterNames()返回Servlet初始化所需所有参数的枚举
- config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性构成)以及服务器的有关信息(通过传递一个ServletContext对象),常用方法有:
- Exception对象:
- Exception对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象。如果JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。它是Java.lang.Throwable对象。
- getMessage();
- toString();
- printStackTrace();
- FillInStackTrace();
- Exception对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象。如果JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。它是Java.lang.Throwable对象。
- out:是JspWriter类的实例,是向客户端输出内容常用的对象。
JavaWeb(一)的更多相关文章
- 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)
在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...
- JavaWeb——Servlet
一.基本概念 Servlet是运行在Web服务器上的小程序,通过http协议和客户端进行交互. 这里的客户端一般为浏览器,发送http请求(request)给服务器(如Tomcat).服务器接收到请求 ...
- JavaWeb——Listener
一.基本概念 JavaWeb里面的listener是通过观察者设计模式进行实现的.对于观察者模式,这里不做过多介绍,大概讲一下什么意思. 观察者模式又叫发布订阅模式或者监听器模式.在该模式中有两个角色 ...
- .JavaWeb文件上传和FileUpload组件使用
.JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...
- javaWeb应用打包
在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
- JavaWeb——tomcat安装及目录介绍
一.web web可以说,就是一套 请求->处理->响应 的流程.客户端使用浏览器(IE.FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Reque ...
- 做JavaWeb开发不知Java集合类不如归家种地
Java作为面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.但是使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容 ...
- JavaWeb基础学习体系与学习思路
对于JAVAWEB的学习,首先一定要明确的是学习整体框架和思路,要有一个把控.对于WEB,很多人认为是做网页,简单的把静态网页与JAVAWEB与网页设计一概而论. 拿起一本JS就开始无脑的学习,学了一 ...
- Eclipse下配置javaweb项目快速部署到tomcat
用惯了VS,再用Eclipse,完全有一种从自动挡到手动挡的感觉啊. 很多同学在Eclipse下开发web项目,每一次修改代码,看效果的时候都有右键项目->Run as -> Run on ...
- javaweb学习笔记之servlet01
一.Servlet概述 A servlet is a small Java program that runs within a Web server. Servlets receive and re ...
随机推荐
- SqlServer nvarchar中的中文字符匹配,更改SqlServer实例和数据库排序规则的办法
我们都知道在SqlServer中的nvarchar类型可以完美的存储诸如中文这种unicode字符,但是我们会发现有时候查询语句去查询nvarchar列的时候查不出来. 为什么nvarchar类型有时 ...
- Openstack的的nova list命令
nova list用于在shell交互模式下查看当前用户存在的实例数目,但是这里仍然要注意的地方: 没有参数的nova list [root@node-5 newstest-master]# nova ...
- android 项目学习随笔二(引导页 )
1.引导页 1.定义灰色.红色圆点的shape XML文件 2.定义布局文件,利用相对布局文件定位,利用线性布局加载灰色圆点,imageview加载红色圆点 3.android.support.v4. ...
- sql创建删除修改表的基本操作
1 建立表格 在建立好数据库以后,就可以根据储存资料的需求,使用SQL叙述建立所有需要的表格(table).建立表格的设定非常多,以建立"world.city"表格来说,它的叙述会 ...
- overflow的劲爆知识点
1.属性 visible(默认) hidden(此处是隐藏不是裁剪) scroll(滚动条) auto(智能路线 当超出范围时则出现滚动条) inherit 不常用 存在兼容性问题 2.进入CSS3 ...
- Android NDK 开发(四)java传递数据到C【转】
转载请注明出处:http://blog.csdn.net/allen315410/article/details/41845701 前面几篇文章介绍了Android NDK开发的简单概念.常见错误及处 ...
- GPS学习
1.每一个你不满意的现在,都有一个你没有努力的曾经. //ios根据gps坐标来计算两点间的距离 //x1,y1 点1的坐标 x2,y2点2的坐标 -(double) gps2m:(double)x1 ...
- 深入理解HTTP协议、HTTP协议原理分析【转】
转自:http://blog.csdn.net/lmh12506/article/details/7794512 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 基础概念篇 ...
- CentOS下使用Percona XtraBackup对MySQL5.6数据库innodb和myisam的方法
Mysql卸载从下往上顺序 [root@localhost /]# rpm -e --nodeps qt-mysql-4.6.2-26.el6_4.x86_64[root@localhost /]# ...
- oracle nvl和nvl2的区别
一直用oracle nvl函数,最近发现还有一个nvl2函数: nvl(a,b) 如果a不为null 则返回a,如果a为null则返回b; nvl2(a,b,c) ,如果a不为null 则返回b,如果 ...