JavaWeb(一)
2016-05-03 18:33
465 查看
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表达式:<%=表达式 %> 表达式不以分号结束
JSP页面的生命周期:用户发出请求index.jsp-》tomcat看是否是第一次请求-》是,则JSP引擎把该JSP问价转换成一个Servlet,生成字节码文件,并执行jspInit()-》生成字节码文件-》解析执行.jspService()(用来处理用户的请求)
jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该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地址不会改变。
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初始化所需所有参数的枚举
Exception对象:
Exception对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象。如果JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。它是Java.lang.Throwable对象。
getMessage();
toString();
printStackTrace();
FillInStackTrace();
静态网页与动态网页
静态网页
表现形式:网页的内容是固定的,不会更新;
使用的技术: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表达式:<%=表达式 %> 表达式不以分号结束
JSP页面的生命周期:用户发出请求index.jsp-》tomcat看是否是第一次请求-》是,则JSP引擎把该JSP问价转换成一个Servlet,生成字节码文件,并执行jspInit()-》生成字节码文件-》解析执行.jspService()(用来处理用户的请求)
jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该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地址不会改变。
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初始化所需所有参数的枚举
Exception对象:
Exception对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象。如果JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。它是Java.lang.Throwable对象。
getMessage();
toString();
printStackTrace();
FillInStackTrace();
相关文章推荐
- 用工厂流水线的方式来理解 RxJava 的概念
- 《java入门第一季》之二维数组
- 《java入门第一季》之二维数组
- 3、Java的封装
- HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)
- HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)
- Spring SpringMVC文件上传错误(一)
- MyBatis6:MyBatis集成Spring事物管理(下篇)
- POJ-2253-最短路径变形-java语言描述
- Eclipse导入MyEclipse工程(web项目显示为java项目解决办法)
- Java获取当前第几周【转】
- java 重写
- 2、Java的垃圾回收机制的简单理解
- 二维码工具类 - QrcodeUtils.java
- java.util.HashMap在多线程环境中可能出现的问题
- Spring3.0.6定时任务task:scheduled
- 验证码图片生成工具类——Captcha.java
- Spring3+MyBatis3整合无法输出SQL语句问题的解决
- 文件相关操作工具类——FileUtils.java
- Java 对象初始化过程