随便写写02

什么时候用转发?什么时候用重定向?
-- 一件事,两个组件完成 <--转发
-- 一件事完成之后,自发进行第二件事... <--重定向(登录页面)

面试的时候尽量不要提session/cookie,大型项目不会把数据放到session中,唯一放的是登录的ID;分页的信息;Session基本不会放业务信息,业务信息放入数据库

get/post 的安全级别是一样的(黑客攻击),但是post存取信息量大,且可以在一定程度上保护到用户的隐私。所以网易等邮箱都不会用get或post来传递参数,都进行加密传递。


Spring 的容器最基本的接口就是:BeanFactory、BeanFactory负责配置、创建及管理bean,它还有一个子接口:ApplicationContext。
另外,Spring容器还负责管理bean于bean之间的依赖关系。
==============================================
衡量任何框架都要以下特性:
1.健壮性 ( Struts2 2.1.8 比较完美)
2.易用性
3.扩展性
4.侵入性

=====复习=====
URL --统一资源定位符

=======================================
Servlet(称为服务器端小程序,用于处理及响应客户端的请求) -- 是个特殊的Java类 -- 必须继承HttpServlet

配置Servlet时,需要修改web.xml文件(需要配置两部分)
--配置Servlet的名字:对应web.xml文件中的<servlet/>元素;
--配置Servlet的URL:对应web.xml文件中的<servlet-mapping>元素。

Web应用启动时,立即创建Servlet实例:即load-on-startup Servlet --实例化
调用init()方法 --初始化
容器调用servlet的doGet()or doPost()方法 做相应的处理 --就绪
在Web关闭之前调用destroy()方法销毁Servlet。


——application的配置参数对整个Web应用有效,而Servlet配置参数仅对该Servlet有效——


Filter 并不是一个标准的Servlet
Filter有如下几个用处
--在HttpServlet到达Servlet之前,拦截客户的HttpServletRequest。
--根据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据。
--在HttpServletResponse到达客户端之前,拦截HttpServletResponse。
--根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。
Filter有如下几个种类
--用户授权的Filter:Filter负责检查用户请求,根据请求过滤用户非法请求。
--日志Filter:详细记录某些特殊的用户请求。
--负责解码的Filter:包括对非标准编码的请求解码
--能改变xml内容的XSLT filter等

创建一个Filter只需要:
1)创建Filter处理类;
2)在web.xml文件中配置Filter。

Listener ——用于在Web应用启动时,启动某些后台,这些后台程序负责为系统运行提供支持

JSP ——EL 表达式 ——可以以标记格式方便地访问JSP的隐含对象和JavaBean组件
${expression}


=======================================
JSP的9个内置对象
--application: javax.servlet.ServletContext 的实例
该实例代表JSP所属的Web应用本身(整个Web应用层面),可用于JSP页面,或者Servlet之间交换信息。
(注意:application不仅可用于两个JSP页面之间共享数据,还可以用于Servlet和JSP之间共享数据)

--config: javax.servlet.ServletConfig的实例
该实例代表该JSP的配置信息。事实上,JSP页面通常无需配置,也就不存在配置信息。因此,该对象更
多地在Servlet中有效。

--exception: javax.servlet.Throwable 的实例
该实例代表其他页面中的异常和错误。只有当页面模式错误处理页面,即编译指令page的isErrorPage属性
为true时,该对象才可以使用。(常用的方法有getMwssage()和printStackTrace())等

--out: javax.servlet.JspWriter的实例
该实例代表JSP页面的输出流,用于输出内容,形成HTML页面。

--page:
代表该页面本身,通常没有太大用处。也就是Servlet中的this,其类型就是生成的Servlet。

--pageContext: javax.servlet.jsp.PageContext 的实例
该对象代表该页面JSP页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext()和
getServletConfig()等。
使用pageContext可以直接访问reques,session,application范围的属性。

--request: javax.servlet.http:HttpServletRequest 的实例 <---这是一个常用对象,获取客户端请求参数必须使用该对象。
该对象封装了一次请求,客户端的请求参数都封装在该对象里。常用的方法有
getParameter(String paramName),
getParameterValues(String paramName),
setAttribute(String attibuteName,Object attributeValue),
getAttribute(String attributeName),
setCharacterEncoding(String env)等

--response: javax.servlet.http.HttpServletResponse的实例
代表服务器对客户端的响应。通常,也很少使用该对象直接响应,输出响应使用out对象,而response对象常
用语重定向。常用的方法有sendRedirect(java.lang.String location)等

--session: javax.servlet.http.HttpSession 的实例
该对象代表一次会话。从客户端浏览器于站点建立连接起,开始会话,直到关闭浏览器时结束回话。常用的方法有:
setAttribute(String attName),
setAttribute(String attName,String arrValue)等

走在一起是缘分,在一起走是幸福; 在一起走是缘分,走在一起是幸福
原文地址:https://www.cnblogs.com/tarena/p/3624521.html