servlet/jsp/javabean学习笔记
来源:互联网 发布:多线程数据共享 编辑:程序博客网 时间:2024/04/29 16:27
--------------------------------------------------Servlet----------------------------------
3.1 servlet基础
3.2 第一个servlet
3.3 处理客户端输入
getParameter(name) Enumeration getParameterNames()
String[] getParameterValues(name)
3.4 发送非html文档
ServletOutputStream
3.5 获取servlet配置参数 --ServletConfig对象
init(ServletConfig config) myConfig.getInitParameter("FilePath")
getServletConfig()
3.6 会话管理 --Cookie、URL重写、HttpSession对象
request.getCookies() new Cookie(name,value) response.add(cookie) cookie.setPath() cookie.setMaxAge() cookie.setValue() cookie.getAttributeNames() removeAttribute() request.getContextPath() request.getSession()
response.encodeURL(contextPath+"/url2?name=张三&age=27");
response.encodeURL("servletname")
request.getSession() session.setAttribute(name,value);
session.getAttribute(name); 浏览器一关session就结束。
3.7 servlet上下文 --ServletContext对象
ServletConfig.getServletContext()
Enumeration ServletContext.getInitParameterNames()
ServletContext.getInitParameterName(name)
ServletContext.getAttribute() .getAttributeNames()
.removeAttr... .setAttr...
一个web project可能有多个servlet,但每个servlet有各自的<init-param>:
<context-param>
<param-name>xxx
<param-value>xxx
</context-param>
<servlet>
<init-param>
<param-name>xxx
<param-value>xxx
</init-param>
... ...
</servlet>
<servlet>
... ...
</servlet>
... ...
3.8 servlet间协议 --RequestDispatcher对象
if(userID.equals("guest")&&......){
RequestDispatcher dispatcher = getServletConfig().
getServletContext().getRequestDispatcher("/mapping url")
dispatcher.forward(request.response)
}else{ RequestDispatcher dispatcher=get......;
dispatcher.forward(request.response); }
3.9 servlet Filter
import javax.servlet.Filter 、FilterChain 、FilterConfig;
public class IPFliter implements Filter{...
必须重写下面3个方法:
doFilter(ServletRequest req,ServletResponse res,FilterChain chain){
if....else{chain.doFilter(req,res);//沿过滤链传下去} }
init(FilterConfig)
destroy()
<filter>
<filter-name>xxx
<filter-class>xxx
<filter-name>YYY
<filter-class>YYY
</filter>
<filter-mapping>
<filter-name>xxx
<filter-pattern>/xxx
<filter-name>YYY
<filter-pattern>/YYY
</filter-mapping>
------------------------------------------------------------JSP---------------------------------
4.1 概述
4.2 第一个jsp
4.3 jsp脚本元素 --<% Java代码块 %>
输出表达式:<%=表达式%>(决不能以;结尾) 如:<h<%=i%>>你好</h<%=i%>>
<%@ page language="java" pageEncoding="gb2312" %>
<%@ page contentType="text/html;charset=gb2312" %>
<!-xx客户端能看到x-> <%--xxx--%>
声明变量:用于定义特定于 JSP 页面的变量,声明的变量成了 JSP 页面转 换到的 Servlet 类的成员变量,可以被该JSP页面中其他任何部 分使用。
<%!声明代码%> <%!int i=0; %>作用域为整个页面
声明方法:声明的方法在JSP页面有效,它编译成Servlet 类的成员方法。可 以由页面上所有脚本元素访问。 <%!String sayHello(){ return "Hello"; }%> <%=sayHello()%>
声明类:声明类是JSP页面对应的Servlet类的内部类,页面上所有脚本元素 都可以创建该类的对象。
<%!public class Hello{ ...}%>
<% Hello a=new Hello(false);%> <%=a.sayHello()%>
注:<%!声明%> <%脚本%>
JSP声明中定义的变量是全局的,脚本程序中定义的变量是局部的
4.4 指令元素 --<%@ 指令名 属性=“属性值” %>
page指令:属性:language import session errorPage contentType
include指令:<%include file="relative url"%>页面中嵌入页面
4.5 jsp动作组件 --<jsp:xxx>
<jsp:include page="文件名">
<jsp:forward page="网页名称">
<jsp:param name=参数名,value=值>
<jsp:include page="add.jsp">
<jsp:param name="start" value="0">
<jsp:param name="end" value="100" />
</jsp:include> 然后可以在"add.jsp"里获取参数
<jsp:forward page="wel.jsp">
<jsp:param name="A" value="a">
</jsp:forward>
<jsp:plugin> <jsp:plugin type="applet/bean" code="Circle.class" >
4.6 jsp内置对象 request response out session application
config pagecontext page exception
1.request对象:封装了客户端信息(向服务器提交请求)
通过属性对象可传递任何类型的数据:
request.setAttribute("name",arraylist) <jsp:forward page="rec.jsp">
rec.jsp: ArrayList content=(ArrayList)request.getAttribute("name")
注:setAttribute(name,value)中参数必须是可序列化的对象,基本类型no!
2.response对象:封装了服务器响应信息(向客户端发起响应)
常用方法:addCookie() addHeader(name,value) containsHeader(name)
sendError(int sc) setHeader("Refresh","5")
setContentType("Application/pdf") sendRedirect(url)
3.session对象:session.getAttribute(name)
session.setAttribute(name,value) ,value可为集合对象
4.application对象:代表运行在服务器上的Web应用程序,
相当于ServletContext,除非服务器关闭,否则一直保存下去
getAttribute(name) setAttribute(name,value) getAttributeNames()
getInitParameter(name) getRealPath()
5.out对象:浏览器需要显示的内容,文本一级的,可向客户端写一个由程序 动态生成的HTML文件
print println flush
6.exception对象:
makeError.jsp:<%@ page errorPage="yichang.jsp" %>
yichang.jsp:<%@ page isErrorPage="true" %> //必须有此page指令
常用3方法:exception.getMessage()/printStackTrace()/toString()
------------------------------------------------------JavaBean----------------------------------
5.1 java bean原理与应用
符合以下规则的任何Java类都是一个JavaBean:
1.每个可读属性,必须有public proptype getProperty(){... }
2.每个可写属性,必须有public void setProperty(proptype x){... }
3.定义一个不带参数的构造方法
5.2 javabean和jsp的结合
定义了一个javabean:Student.java
成员变量:long classno,String name,int age,boolean sex,String major
一、<jsp:useBean id="s1" class="包名.Student" scope="application"/>
[相当于在jsp页面全局Student s1=new Student();都可用s1实例了。]
其中,id:唯一标志一个javabean;(可当作类的实例看待)
class:说明javabean的类型;(即,类名)
scope:声明javabean的作用域。
二、<jsp:getProperty name="beanId" property="propertyName" />
如:<jsp:getProperty name="s1" property="name" />
等价于 <%=s1.name %>
三、<jsp:setProperty name="s1" property="classno" value="56789" />
注:<jsp:get/setProterty...都是通过javabean的get/set方法完成功能的
通过请求参数来给JavaBean的属性赋值:
input.html:<form action="param.jsp">
<input type="text" name="userName">
param.jsp:<jsp:useBean id="s2" scope="page" class="包名.Student" />
<jsp:setProperty name="s2" property="name" param="userName" />
注:用param属性,就不能用value属性了。
---------------------------------------------------------------------------------------------------- ----------------------------------
3.1 servlet基础
3.2 第一个servlet
3.3 处理客户端输入
getParameter(name) Enumeration getParameterNames()
String[] getParameterValues(name)
3.4 发送非html文档
ServletOutputStream
3.5 获取servlet配置参数 --ServletConfig对象
init(ServletConfig config) myConfig.getInitParameter("FilePath")
getServletConfig()
3.6 会话管理 --Cookie、URL重写、HttpSession对象
request.getCookies() new Cookie(name,value) response.add(cookie) cookie.setPath() cookie.setMaxAge() cookie.setValue() cookie.getAttributeNames() removeAttribute() request.getContextPath() request.getSession()
response.encodeURL(contextPath+"/url2?name=张三&age=27");
response.encodeURL("servletname")
request.getSession() session.setAttribute(name,value);
session.getAttribute(name); 浏览器一关session就结束。
3.7 servlet上下文 --ServletContext对象
ServletConfig.getServletContext()
Enumeration ServletContext.getInitParameterNames()
ServletContext.getInitParameterName(name)
ServletContext.getAttribute() .getAttributeNames()
.removeAttr... .setAttr...
一个web project可能有多个servlet,但每个servlet有各自的<init-param>:
<context-param>
<param-name>xxx
<param-value>xxx
</context-param>
<servlet>
<init-param>
<param-name>xxx
<param-value>xxx
</init-param>
... ...
</servlet>
<servlet>
... ...
</servlet>
... ...
3.8 servlet间协议 --RequestDispatcher对象
if(userID.equals("guest")&&......){
RequestDispatcher dispatcher = getServletConfig().
getServletContext().getRequestDispatcher("/mapping url")
dispatcher.forward(request.response)
}else{ RequestDispatcher dispatcher=get......;
dispatcher.forward(request.response); }
3.9 servlet Filter
import javax.servlet.Filter 、FilterChain 、FilterConfig;
public class IPFliter implements Filter{...
必须重写下面3个方法:
doFilter(ServletRequest req,ServletResponse res,FilterChain chain){
if....else{chain.doFilter(req,res);//沿过滤链传下去} }
init(FilterConfig)
destroy()
<filter>
<filter-name>xxx
<filter-class>xxx
<filter-name>YYY
<filter-class>YYY
</filter>
<filter-mapping>
<filter-name>xxx
<filter-pattern>/xxx
<filter-name>YYY
<filter-pattern>/YYY
</filter-mapping>
------------------------------------------------------------JSP---------------------------------
4.1 概述
4.2 第一个jsp
4.3 jsp脚本元素 --<% Java代码块 %>
输出表达式:<%=表达式%>(决不能以;结尾) 如:<h<%=i%>>你好</h<%=i%>>
<%@ page language="java" pageEncoding="gb2312" %>
<%@ page contentType="text/html;charset=gb2312" %>
<!-xx客户端能看到x-> <%--xxx--%>
声明变量:用于定义特定于 JSP 页面的变量,声明的变量成了 JSP 页面转 换到的 Servlet 类的成员变量,可以被该JSP页面中其他任何部 分使用。
<%!声明代码%> <%!int i=0; %>作用域为整个页面
声明方法:声明的方法在JSP页面有效,它编译成Servlet 类的成员方法。可 以由页面上所有脚本元素访问。 <%!String sayHello(){ return "Hello"; }%> <%=sayHello()%>
声明类:声明类是JSP页面对应的Servlet类的内部类,页面上所有脚本元素 都可以创建该类的对象。
<%!public class Hello{ ...}%>
<% Hello a=new Hello(false);%> <%=a.sayHello()%>
注:<%!声明%> <%脚本%>
JSP声明中定义的变量是全局的,脚本程序中定义的变量是局部的
4.4 指令元素 --<%@ 指令名 属性=“属性值” %>
page指令:属性:language import session errorPage contentType
include指令:<%include file="relative url"%>页面中嵌入页面
4.5 jsp动作组件 --<jsp:xxx>
<jsp:include page="文件名">
<jsp:forward page="网页名称">
<jsp:param name=参数名,value=值>
<jsp:include page="add.jsp">
<jsp:param name="start" value="0">
<jsp:param name="end" value="100" />
</jsp:include> 然后可以在"add.jsp"里获取参数
<jsp:forward page="wel.jsp">
<jsp:param name="A" value="a">
</jsp:forward>
<jsp:plugin> <jsp:plugin type="applet/bean" code="Circle.class" >
4.6 jsp内置对象 request response out session application
config pagecontext page exception
1.request对象:封装了客户端信息(向服务器提交请求)
通过属性对象可传递任何类型的数据:
request.setAttribute("name",arraylist) <jsp:forward page="rec.jsp">
rec.jsp: ArrayList content=(ArrayList)request.getAttribute("name")
注:setAttribute(name,value)中参数必须是可序列化的对象,基本类型no!
2.response对象:封装了服务器响应信息(向客户端发起响应)
常用方法:addCookie() addHeader(name,value) containsHeader(name)
sendError(int sc) setHeader("Refresh","5")
setContentType("Application/pdf") sendRedirect(url)
3.session对象:session.getAttribute(name)
session.setAttribute(name,value) ,value可为集合对象
4.application对象:代表运行在服务器上的Web应用程序,
相当于ServletContext,除非服务器关闭,否则一直保存下去
getAttribute(name) setAttribute(name,value) getAttributeNames()
getInitParameter(name) getRealPath()
5.out对象:浏览器需要显示的内容,文本一级的,可向客户端写一个由程序 动态生成的HTML文件
print println flush
6.exception对象:
makeError.jsp:<%@ page errorPage="yichang.jsp" %>
yichang.jsp:<%@ page isErrorPage="true" %> //必须有此page指令
常用3方法:exception.getMessage()/printStackTrace()/toString()
------------------------------------------------------JavaBean----------------------------------
5.1 java bean原理与应用
符合以下规则的任何Java类都是一个JavaBean:
1.每个可读属性,必须有public proptype getProperty(){... }
2.每个可写属性,必须有public void setProperty(proptype x){... }
3.定义一个不带参数的构造方法
5.2 javabean和jsp的结合
定义了一个javabean:Student.java
成员变量:long classno,String name,int age,boolean sex,String major
一、<jsp:useBean id="s1" class="包名.Student" scope="application"/>
[相当于在jsp页面全局Student s1=new Student();都可用s1实例了。]
其中,id:唯一标志一个javabean;(可当作类的实例看待)
class:说明javabean的类型;(即,类名)
scope:声明javabean的作用域。
二、<jsp:getProperty name="beanId" property="propertyName" />
如:<jsp:getProperty name="s1" property="name" />
等价于 <%=s1.name %>
三、<jsp:setProperty name="s1" property="classno" value="56789" />
注:<jsp:get/setProterty...都是通过javabean的get/set方法完成功能的
通过请求参数来给JavaBean的属性赋值:
input.html:<form action="param.jsp">
<input type="text" name="userName">
param.jsp:<jsp:useBean id="s2" scope="page" class="包名.Student" />
<jsp:setProperty name="s2" property="name" param="userName" />
注:用param属性,就不能用value属性了。
---------------------------------------------------------------------------------------------------- ----------------------------------
- servlet/jsp/javabean学习笔记
- jsp+javabean+servlet的笔记
- jsp与javaBean学习笔记
- JSP学习笔记04--JavaBean
- JavaBean和jsp学习笔记
- 学习servlet,javabean,jsp虚拟目录配制
- JSP/Servlet学习笔记
- Jsp+servlet学习笔记
- jsp&servlet学习笔记
- JSP Servlet学习笔记
- JSP/Servlet学习笔记
- Jsp&servlet学习笔记
- JSP&Servlet学习笔记
- jsp&servlet学习笔记
- jsp+servlet学习笔记
- JSP&Servlet学习笔记
- Servlet+JSP学习笔记
- servlet+jsp学习笔记
- SQL语句先前写的时候,很容易把一些特殊的用法忘记,特此整理了一下SQL语句操作,方便写SQL时方便一点
- 游戏架构设计笔记
- 测试人员必知必会的SQL知识03
- EL表达式获取list大小
- 内连接、外连接、交叉连接 (总结)
- servlet/jsp/javabean学习笔记
- 不伤眼睛的电脑背景颜色
- C#复制文件夹,删除文件夹的方法
- 如何让java生成复杂的Word文档
- Automation服务器不能创建对象
- ThreadPoolExecutor + RabbitMQ
- C# static修饰变量
- COM中的字符串
- FileInputStream/FileOutputStream的应用