http,servlet,jsp-java web后台知识简单总结
2017-06-30 18:13
302 查看
http,servlet,jsp 总结,包括 servletConfig,servletContext,servletRequest,servletResponse,session,cookie,EL 表达式,jstl 标签库,servletFilter等知识点,这里只是总结一些介绍性的东西,具体的应用查看对用的 API 文档就好,就不说具体应用了。
其中各字段的内容我就没详细看了,以后用到再看,反正都是了解性东西。
Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第4步,否则,执行第2步。
装载并创建该Servlet的一个实例对象。
调用Servlet实例对象的init()方法。
建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
当 servlet 配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。
ServletContext对象被包含在ServletConfig对象中,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得对ServletContext对象的引用。
由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。
获取WEB应用的初始化参数。
实现Servlet的转发。
利用ServletContext对象读取资源文件。
得到文件路径
读取资源文件的三种方式
.properties文件(属性文件)
获得客户机信息
获得客户机请求头
各种表单输入项数据的获取
text、password、radio、checkbox、file、select、textarea、 hidden、image、button给js编程用
请求参数的中文乱码问题
Javascript防止表单重复提交
URL地址的编码
request对象实现请求转发:请求转发指一个web资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理。
请求转发的应用场景:MVC设计模式
request对象提供了一个getRequestDispatcher方法,该方法返回一个RequestDispatcher对象,调用这个对象的forward方法可以实现请求转发。
9。 request对象同时也是一个域对象,开发人员通过request对象在实现转发时,把数据通过request对象带给其它web资源处理。
setAttribute方法
getAttribute方法
removeAttribute方法
getAttributeNames方法
分别以OutputStream和PrintWriter输出
用OutputStream输出1,客户端看到的是什么?
文件下载
生成随机图片
发送http头,控制浏览器定时刷新网页(REFRESH)
发送http头,控制浏览器禁止缓存当前文档内容
多学一招:使用html语言里面的标签来控制浏览器行为
通过response实现请求重定向。
请求重定向指:一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。
应用场景:用户注册。
实现方式:response.sendRedirect()
实现原理:302状态码和location头即可实现重定向
会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。
会话过程中要解决的一些问题?
每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,服务器要想办法为每个用户保存这些数据。
例如:多个用户点击超链接通过一个servlet各自购买了一个商品,服务器应该想办法把每一个用户购买的商品保存在各自的地方,以便于这些用户点结帐servlet时,结帐servlet可以得到用户各自购买的商品为用户结帐。
保存会话数据的两种技术:
Cookie
Cookie是客户端技术,服务器把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。
Session
Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。
session 技术
cookie 技术
jsp 原理:jsp 会被 tomcat 翻译为一个 servlet 实例对象。
jsp 语法挺简答的,就是 9 大隐式对象要记一下。
掌握下面的就差不多了:
参考网页:
http://www.runoob.com/jsp/jsp-implicit-objects.html
EL表达式中也可以使用${customerBean.address}的形式来访问JavaBean对象的属性。
结合JSTL标签,EL表达式也可轻松获取各种集合中的元素。
EL表达式也可使用类如${1==1}的形式进行简单的逻辑判断。
详细学习,请见:
http://www.runoob.com/jsp/jsp-expression-language.html
在页面中使用JSTL标签需完成以下2个步骤:
1. 导入jstl.jar和standerd.jar这两个JSTL的jar文件。
2. 在JSP页面中使用<%@ tablib url=“” prifix=“” %>元素导入标签库。
JSTL标签库中常用标签:
详细学习,请见:
http://www.runoob.com/jsp/jsp-jstl.html
自己感觉类似于动态代理,或者是面向切面编程的思想。
其他的一些知识和 httpServlet 差不多,就不详细说了。
http
Http 协议格式参考网页: https://my.oschina.net/manmao/blog/549123其中各字段的内容我就没详细看了,以后用到再看,反正都是了解性东西。
servlet
一个 servlet 实现对象可以处理一个请求,一个 web 应用中有多个 servlet 实现对象,他们之间的数据交互通过 servletContext 完成。Servlet的运行过程
Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第4步,否则,执行第2步。
装载并创建该Servlet的一个实例对象。
调用Servlet实例对象的init()方法。
建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
servletConfig
在 Servlet 的配置文件中,可以使用一个或多个 <init-param> 标签为 servlet 配置一些初始化参数。当 servlet 配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。
servletContext
WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。ServletContext对象被包含在ServletConfig对象中,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得对ServletContext对象的引用。
由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。
ServletContext应用
多个Servlet通过ServletContext对象实现数据共享。获取WEB应用的初始化参数。
实现Servlet的转发。
利用ServletContext对象读取资源文件。
得到文件路径
读取资源文件的三种方式
.properties文件(属性文件)
servletRequest
API信息:获得客户机信息
getRequestURL方法返回客户端发出请求时的完整URL。 getRequestURI方法返回请求行中的资源名部分。 getQueryString 方法返回请求行中的参数部分。 getPathInfo方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。 getRemoteAddr方法返回发出请求的客户机的IP地址 getRemoteHost方法返回发出请求的客户机的完整主机名 getRemotePort方法返回客户机所使用的网络端口号 getLocalAddr方法返回WEB服务器的IP地址。 getLocalName方法返回WEB服务器的主机名
获得客户机请求头
getHeader方法 getHeaders方法 getHeaderNames方法 获得客户机请求参数(客户端提交的数据) getParameter方法 getParameterValues(String name)方法 getParameterNames方法 getParameterMap方法
request常见应用
防盗链各种表单输入项数据的获取
text、password、radio、checkbox、file、select、textarea、 hidden、image、button给js编程用
请求参数的中文乱码问题
Javascript防止表单重复提交
URL地址的编码
request对象实现请求转发:请求转发指一个web资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理。
请求转发的应用场景:MVC设计模式
request对象提供了一个getRequestDispatcher方法,该方法返回一个RequestDispatcher对象,调用这个对象的forward方法可以实现请求转发。
9。 request对象同时也是一个域对象,开发人员通过request对象在实现转发时,把数据通过request对象带给其它web资源处理。
setAttribute方法
getAttribute方法
removeAttribute方法
getAttributeNames方法
response常见应用
向客户端输出中文数据分别以OutputStream和PrintWriter输出
用OutputStream输出1,客户端看到的是什么?
文件下载
生成随机图片
发送http头,控制浏览器定时刷新网页(REFRESH)
发送http头,控制浏览器禁止缓存当前文档内容
多学一招:使用html语言里面的标签来控制浏览器行为
通过response实现请求重定向。
请求重定向指:一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。
应用场景:用户注册。
实现方式:response.sendRedirect()
实现原理:302状态码和location头即可实现重定向
session Cookie
什么是会话?会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。
会话过程中要解决的一些问题?
每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,服务器要想办法为每个用户保存这些数据。
例如:多个用户点击超链接通过一个servlet各自购买了一个商品,服务器应该想办法把每一个用户购买的商品保存在各自的地方,以便于这些用户点结帐servlet时,结帐servlet可以得到用户各自购买的商品为用户结帐。
保存会话数据的两种技术:
Cookie
Cookie是客户端技术,服务器把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。
Session
Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。
session 技术
cookie 技术
JSP
MVC 架构中的 view 用的就是 jsp 技术。jsp 原理:jsp 会被 tomcat 翻译为一个 servlet 实例对象。
jsp 语法挺简答的,就是 9 大隐式对象要记一下。
掌握下面的就差不多了:
JSP表达式 JSP脚本程序 JSP注释 JSP指令 JSP标签 JSP隐式对象
参考网页:
http://www.runoob.com/jsp/jsp-implicit-objects.html
EL表达式入门
EL表达式用于获取数据,在JSP页面中可使用${标识符}的形式,通知JSP引擎调用pageContext.findAttribute()方法,以标识符为关键字从各个域对象中获取对象。如果域对象中不存在标识符所对应的对象,则返回结果为””(注意,不是null)。EL表达式中也可以使用${customerBean.address}的形式来访问JavaBean对象的属性。
结合JSTL标签,EL表达式也可轻松获取各种集合中的元素。
EL表达式也可使用类如${1==1}的形式进行简单的逻辑判断。
详细学习,请见:
http://www.runoob.com/jsp/jsp-expression-language.html
JSTL标签库入门
JSTL是sun公司开发的一套标签库,使用JSTL可以在页面中实现一些简单的逻辑,从而替换页面中的脚本代码。在页面中使用JSTL标签需完成以下2个步骤:
1. 导入jstl.jar和standerd.jar这两个JSTL的jar文件。
2. 在JSP页面中使用<%@ tablib url=“” prifix=“” %>元素导入标签库。
JSTL标签库中常用标签:
<c:foreach var=“” items=“”> <c:if test=“”>
详细学习,请见:
http://www.runoob.com/jsp/jsp-jstl.html
servletFilter
Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter。通过Filter技术,开发人员可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截,如下所示:自己感觉类似于动态代理,或者是面向切面编程的思想。
其他的一些知识和 httpServlet 差不多,就不详细说了。
相关文章推荐
- XML,tomcat-java web后台知识简单总结
- java web(jsp + servlet + javabean)学习心得总结
- Jsp+servlet+javabean使用Lucene3.6.2做一个简单数据库搜索的总结(1)
- JavaWeb开发知识总结(HTTP,servlet)
- Java web基础总结五之—— HttpServletRequest与HttpServletResponse
- java web——servlet+jsp实现前后台交互
- java web(jsp + servlet + javabean)学习心得总结
- Java Web 回顾总结(四) - Servlet - 文档创建及简单使用
- 自学jsp+servlet+ajax的一些知识的总结
- Servlet&JSP&Struts知识总结
- java web(jsp)-The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- HttpServletRequest, Action, JSP间所传参数的总结
- JavaWeb开发知识总结(HttpServletRequest,HttpServletResponse)
- 一个简单的打印HttpServletRequest头jsp代码例子
- 一些简单的servlet、jsp和tomcat的入门知识
- Java web开发中的jsp知识总结
- java web验证码生成总结(包括servlet、jsp和struts2实现)(转)
- java web验证码生成总结(包括servlet、jsp和struts2实现)
- JavaWeb开发知识总结(HTTP,servlet)
- java web验证码生成总结(包括servlet、jsp和struts2实现)