jsp基础
2015-12-05 20:25
585 查看
Jsp基础语法
在JSP页面中执行的java代码。
<% Java代码%>
在JSP页面中定义变量或者方法
<%! Java代码 %>
在JSP页面中执行的表达式
<%= 表达式 %>
JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象。
out request response session application pagepageContext exception config
out对象是JspWriter类的实例,是向客户端输出内容常用的对象。
println(); clear(); clearBuffer(); flush();getBufferSize(); getRemaining(); isAutoFlush(); close();
request对象是HttpServletRequest类的实例。客户端的请求信息被封装在request对象中。
String getParameter(String name); String[]getParameterValues(String name); void setAttribute(String, Object); objectgetAttribute();
response对象包含了响应客户请求的有关信息,具有页面作用域。
String getCharacterEncoding(); voidsetContentType(); PrintWriter getWriter(); sendRedirect(String location);
请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次请求的对象不会保存。
请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp); 是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。
session表示客户端与服务器的一次会话
Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间
session对象在第一个JSP页面被装载时被自动创建,完成会话期管理
long getCreationTime(); public StringgetId(); public Object setAttribute(String name, Object value); public ObjectgetAttribute(String name); String[] getValueNames(); intgetMaxInactiveInterval()
session的生命周期
销毁三种方式:session.invalidate();过期,服务器重新启动
application对象实现了用户间数据的共享,可存放全局变量。服务器的启动和关闭决定了application对象的生命。
public void setAttribute(String name,Object value); public Object getAttribute(String name); EnumerationgetAttributeNames(); String getServerInfo();
page对象就是指向当前JSP页面本身,是java.lang.Object类的实例。
pageContext对象提供了对JSP页面内所有对象及名称空间的访问。pageContext对象的本类名也叫pageContext。
Object getPage(); void forward(StringrelativeUrlPath); void include(String relativeUrlPath)
Config对象是一个Servlet初始化时,JSP引擎向它传递信息用的。
JSP动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法。
在JSP页面中使用Javabeans
1. 像使用普通java类一样,创建javabean实例。
2. 在JSP页面中通常使用jsp动作标签使用javabean。
<jsp:useBeanid=”” class=”” scope=”” />
<jsp:setPropertyname = “java实例名” property= “*” />
<jsp:setPropertyname = “” property = “javabean属性名” />
<jsp:setPropertyname = “” property = “javabean属性名” value = “” />
<jsp:setPropertyname = “” property = “javabean属性名” param = “request对象中的参数名” />
<jsp:getProperty name = “” property = “” />
Javabean的四个作用域范围
page, request,session, application
Jsp中创建与使用Cookie
Cookie newCookie= new Cookie(String key, Object value);
response.addCookie(newCookie);
Cookie[] cookies= request.getCookies();
include指令
<%@ includefile=”URL” %>
include动作
<jsp:includepage=”URL” flush=”true|false” />
forward动作
<jsp:forwardpage=”URL” />
param动作
<jsp:param name=”参数名” value=”参数值”>
Servlet生命周期
1. 初始化阶段,调用init()方法。
2. 响应客户请求阶段,调用service()方法。由service()方法根据提交方式选择执行doGet()或者doPost()方法。
3. 终止阶段,调用destroy()方法。
在下列时刻Servlet容器装载Servlet:
Servlet容器启动时自动装载某些Servlet,实现它只需要在web.xml文件中的<Servlet></Servlet>之间添加如下代码:<loadon-startup>1</loadon-startup>,数字越小表示优先级别越高。
在Servlet容器启动后,客户端首次向Servlet发送请求。
Servlet类文件被更新后,重新装载Servlet。
Servlet路径跳转
<a href=”servlet/HelloServlet”>访问</a><br>
<ahref=”<%=path%>/servlet/HelloServlet”>访问</a><br>
response.sendRedirect(request.getContextPath()+ “test.jsp”);
request.getRequestDispather(“test.jsp”).forward(request,response);
request.getRequestDispather(“../test.jsp”).forward(request,response);
过滤器的分类:
request用户直接访问页面时,Web容器将会调用过滤器,
forward目标资源是通过RequestDispather的forward访问时,该过滤器将被调用,
include目标资源是通过RequestDispather的include方法调用时,过滤器将被调用,
error目标资源是通过声明式异常处理机制调用时,过滤器将被调用。
async支持异步处理
@WebFilter用于将一个类声明为过滤器,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为过滤器。
启动顺序:监听器,过滤器,Servlet
ServletContextListenercontextInitialized(); contextDestroyed();
HttpSessionListener sessionCreated(); sessionDestroyed();
统计在线人数,记录访问日志
ServletRequestListener requestInitialized()requestDestroyed()
读取参数,记录访问历史
ServletContextAttributeListener attributeAdded(); attributeRemoved();attributeReplaced();
Session钝化机制。本质就在于把服务器中不经常使用的Session对象暂时序列化到系统文件系统或是数据库系统中,当被使用时反序列化到内存中,整个过程由服务器自动完成。
Session钝化机制由SessionManager管理。可以配置主流内存的Session对象数目,将不常使用的Session对象保存到文件系统或数据库。
Tomcat提供两个钝化驱动类,FileStore和JDBCstore
HttpSessionBindingListener valueBound(); valueUnbound();
HttpSessionActivationListener sessionWillPassivate(); sessionDidActivate();
Servlet3.0下监听器的用法
@WebListener用于将类声明为监听器,必须实现至少一个接口
<listener>
<listener-class>footmark.servlet.SimpleListener</listener-class>
</listener>
@WebListener(“a demo listener”)
Public class SimpleListener impliementsServletContextListener{}
在JSP页面中执行的java代码。
<% Java代码%>
在JSP页面中定义变量或者方法
<%! Java代码 %>
在JSP页面中执行的表达式
<%= 表达式 %>
JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象。
out request response session application pagepageContext exception config
out对象是JspWriter类的实例,是向客户端输出内容常用的对象。
println(); clear(); clearBuffer(); flush();getBufferSize(); getRemaining(); isAutoFlush(); close();
request对象是HttpServletRequest类的实例。客户端的请求信息被封装在request对象中。
String getParameter(String name); String[]getParameterValues(String name); void setAttribute(String, Object); objectgetAttribute();
response对象包含了响应客户请求的有关信息,具有页面作用域。
String getCharacterEncoding(); voidsetContentType(); PrintWriter getWriter(); sendRedirect(String location);
请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次请求的对象不会保存。
请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp); 是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。
session表示客户端与服务器的一次会话
Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间
session对象在第一个JSP页面被装载时被自动创建,完成会话期管理
long getCreationTime(); public StringgetId(); public Object setAttribute(String name, Object value); public ObjectgetAttribute(String name); String[] getValueNames(); intgetMaxInactiveInterval()
session的生命周期
销毁三种方式:session.invalidate();过期,服务器重新启动
application对象实现了用户间数据的共享,可存放全局变量。服务器的启动和关闭决定了application对象的生命。
public void setAttribute(String name,Object value); public Object getAttribute(String name); EnumerationgetAttributeNames(); String getServerInfo();
page对象就是指向当前JSP页面本身,是java.lang.Object类的实例。
pageContext对象提供了对JSP页面内所有对象及名称空间的访问。pageContext对象的本类名也叫pageContext。
Object getPage(); void forward(StringrelativeUrlPath); void include(String relativeUrlPath)
Config对象是一个Servlet初始化时,JSP引擎向它传递信息用的。
JSP动作元素为请求处理阶段提供信息。动作元素遵循XML元素的语法。
在JSP页面中使用Javabeans
1. 像使用普通java类一样,创建javabean实例。
2. 在JSP页面中通常使用jsp动作标签使用javabean。
<jsp:useBeanid=”” class=”” scope=”” />
<jsp:setPropertyname = “java实例名” property= “*” />
<jsp:setPropertyname = “” property = “javabean属性名” />
<jsp:setPropertyname = “” property = “javabean属性名” value = “” />
<jsp:setPropertyname = “” property = “javabean属性名” param = “request对象中的参数名” />
<jsp:getProperty name = “” property = “” />
Javabean的四个作用域范围
page, request,session, application
Jsp中创建与使用Cookie
Cookie newCookie= new Cookie(String key, Object value);
response.addCookie(newCookie);
Cookie[] cookies= request.getCookies();
include指令
<%@ includefile=”URL” %>
include动作
<jsp:includepage=”URL” flush=”true|false” />
forward动作
<jsp:forwardpage=”URL” />
param动作
<jsp:param name=”参数名” value=”参数值”>
Servlet
Tomcat的容器分为四个等级,Servlet的容器管理Context容器,一个Context对应一个Web工程。Servlet生命周期
1. 初始化阶段,调用init()方法。
2. 响应客户请求阶段,调用service()方法。由service()方法根据提交方式选择执行doGet()或者doPost()方法。
3. 终止阶段,调用destroy()方法。
在下列时刻Servlet容器装载Servlet:
Servlet容器启动时自动装载某些Servlet,实现它只需要在web.xml文件中的<Servlet></Servlet>之间添加如下代码:<loadon-startup>1</loadon-startup>,数字越小表示优先级别越高。
在Servlet容器启动后,客户端首次向Servlet发送请求。
Servlet类文件被更新后,重新装载Servlet。
Servlet路径跳转
<a href=”servlet/HelloServlet”>访问</a><br>
<ahref=”<%=path%>/servlet/HelloServlet”>访问</a><br>
response.sendRedirect(request.getContextPath()+ “test.jsp”);
request.getRequestDispather(“test.jsp”).forward(request,response);
request.getRequestDispather(“../test.jsp”).forward(request,response);
过滤器
过滤器是一个服务端的组件,它可以截取用户端的请求与响应信息,并对这些信息过滤。过滤器的分类:
request用户直接访问页面时,Web容器将会调用过滤器,
forward目标资源是通过RequestDispather的forward访问时,该过滤器将被调用,
include目标资源是通过RequestDispather的include方法调用时,过滤器将被调用,
error目标资源是通过声明式异常处理机制调用时,过滤器将被调用。
async支持异步处理
@WebFilter用于将一个类声明为过滤器,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为过滤器。
Web监听器
Servlet中定义的一种特殊类,用户监听ServletContext、HttpSession和ServletRequest等域对象的创建与销毁事件,用于监听域对象的属性发生修改的事件。启动顺序:监听器,过滤器,Servlet
ServletContextListenercontextInitialized(); contextDestroyed();
HttpSessionListener sessionCreated(); sessionDestroyed();
统计在线人数,记录访问日志
ServletRequestListener requestInitialized()requestDestroyed()
读取参数,记录访问历史
ServletContextAttributeListener attributeAdded(); attributeRemoved();attributeReplaced();
Session钝化机制。本质就在于把服务器中不经常使用的Session对象暂时序列化到系统文件系统或是数据库系统中,当被使用时反序列化到内存中,整个过程由服务器自动完成。
Session钝化机制由SessionManager管理。可以配置主流内存的Session对象数目,将不常使用的Session对象保存到文件系统或数据库。
Tomcat提供两个钝化驱动类,FileStore和JDBCstore
HttpSessionBindingListener valueBound(); valueUnbound();
HttpSessionActivationListener sessionWillPassivate(); sessionDidActivate();
Servlet3.0下监听器的用法
@WebListener用于将类声明为监听器,必须实现至少一个接口
<listener>
<listener-class>footmark.servlet.SimpleListener</listener-class>
</listener>
@WebListener(“a demo listener”)
Public class SimpleListener impliementsServletContextListener{}
相关文章推荐
- JS性能优化的那点事
- jsp页面跳转方式
- MyEclipse中修改jsp和servlet模板代码的方法
- js简单登录弹窗
- js实践
- JavaScript 计时
- BZOJ-1012[JSOI2008]最大数maxnumber 线段树区间最值
- BZOJ-1012[JSOI2008]最大数maxnumber 线段树区间最值
- xUtils解析json数据
- Day 26: TogetherJS —— 让我们一起来编程!
- Day 23:使用 TimelineJS 构建精美的时间轴
- js小时分钟控件--
- JavaScript动态加载CSS和JS文件
- JavaScript--DOM编程
- JavaScript 面向对象与原型、继承
- 【JavaScript】(4)——错误处理与调试
- JavaScript 与 json
- Javascript 学习 笔记五
- Javascript 学习 笔记五
- JS按钮控制内容左右滚动