JSP&Servlet jsp(2)
来源:互联网 发布:mac系统怎么重装win10 编辑:程序博客网 时间:2024/05/21 06:54
写在前面:
getAttribute()与getParameter()的区别:
getAttribute()获取的是放在request域对象中的一个属性,parameter是request请求的一个参数,可以获取url地址/username=zhangsan中的值,而getAttribute()不能。
forward动作:
语法<jsp:forward page="url"/>
等同于:
request.getRequestDispatcher("/url").forword(request,response);
param动作:
语法:<jsp:param name="参数名" value="参数值">
常常与forword一起使用,作为其子标签:
<jsp:forward page="user.jsp">
<jsp:param value="admin@123.net" name="email"/>
<jsp:param value="888888" name="password"/>
</jsp:forward>
WEB-INF目录结构
1,WEB-INF是java的web应用的安全目录,所谓安全就是客户端无法访问,只有服务器端可以访问的目录。
2,web.xml,项目部署文件
3,classes文件夹,用以放置*.class文件
4,lib文件夹,用于存放需要的jar包
web.xml中设定了项目的默认主页:
项目名——>properties——>MyEclipse——>project facets——>web中可以设置项目的虚拟地址
修改Tomcat服务器默认端口:修改conf/server.xml文件:
<Connector
port="" 为端口号
……/>
三大指令:
page:jsp页面顶端,一个页面可以有多个page
include:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句
taglib:使用标签库定义新的自定义标签,在jsp页面中启用定制行为。
三种注释方式:
html的注释 <!-- --> 客户端可见
jsp注释 <%-- --%> 客户端不可见
jsp脚本注释: <% // %>
Jsp生命周期:
用户发送请求(request)
服务器给用户响应(response)
out对象:
缓冲区:buffer,所谓缓冲区就是内存的一块区域来保存临时数据。
out对象是jspwriter类的实例,是向客户端输出内容常用的对象
常用方法:
void println() 向客户端打印字符串
void clear() 清除缓冲区的内容,如果在flush之后调用会抛出异常
void clearBuffer() 清除缓冲区的内容,如果在flush之后调用不会抛出异常
void flush() 将缓冲区内容输出到客户端
int getBufferSize() 返回缓冲区以字节数的大小,如不设缓冲区则为0
int getRemaining() 返回缓冲区剩余可用
boolean isAutoFlush() 返回缓冲区满时,是自动清空还是抛出异常
void close() 关闭输出流
示例:
缓冲区大小:<%=out.getBufferSize() %>byte<br>
缓冲区剩余大小:<%=out.getRemaining() %>byte<br>
是否自动清空缓冲区:<%=out.isAutoFlush() %><BR>
get(搜索,查询,会在地址栏显示出信息)和post(注册,修改,上传,不会显示)
request对象:
客户端的请求信息被封装在request对象中,通过他才能了解到客户的需求,然后响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效,常用方法如下:
String getParamenter(String Name) 返回name指定参数的参数值
String[] getParamenterValues(String name) 返回包含参数name的所有值的数组
void setAttribute(String Object) 存储此请求的属性值
object getAttribute(String name) 返回指定属性的属性值
String getContentType() 得到请求体的MIME类型
String getProtocol() 返回请求用的协议类型及版本号
String getServletName() 返回接受请求的服务器主机号
request.setCharacterEncoding("GB18030"); 接受数据前解决中文乱码问题,无法解决url传值乱码
要解决url传值乱码问题,需要找到tomcat服务器根目录下的conf->server.xml的connertor,,与前面修改端口号的位置一样,在该属性中添加URLEncoding="utf-8",与jsp的类型一致就不会在出现URL中文参数乱码
int getServletPort() 返回服务器接受此请求所用的端口号
String getCharacterEncoding() 返回字符编码方式
int getContentLength() 返回请求体的长度(字节数)
String getRemoteAddr() 返回发送此请求的客户端IP地址
String getRealPath(String path) 返回请求的真实路径
response对象包含了响应客户请求的有关信息,但在jsp中很少直接用到它,它是httpservletResponse类的实例。response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其他页面的response对象对当前页面无效。常用方法如下:
String getCharacterEncoding() 返回响应用的字符编码方式
String getContentType() 得到响应的MIME类型
PrintWriter getWriter() 返回可以向客户端输出字符的一个对象(与内置out对象有区别,他的输出总是提前于内置out对象,可以在out输出写完后,添加一个out.flush(),强制清空缓冲区,清空缓冲区后,浏览器会把out中的值写在浏览器上在进行其他操作,这样writer就在out后输出啦)
sendRedirect(java.lang.String location可以是jsp页面) 重新定向客户端的请求
请求转发和请求重定向的区别:
请求重定向:客户端行为,response.sendRedirect(),从本质上讲等于两次请求,前一次的请求对象不会保存,地址栏的url地址会改变
请求转发:服务器行为,request.getRequestDispatcher().forword(req,resp);是一次请求,转发后请求对象会保存,地址栏的url地址不会改变
page对象:
pageContext对象可以访问到本页所在的session,也可以取本页所在的application的某一属性值
pageContext对象相当于页面中所有功能的集大成者,本类名也叫pageContent
config对象
是在一个servlet初始化时,jsp引擎向他传递信息用的,此信息包括servlet初始化时所用到的参数(包括属性名和属性值构成)以及服务器的有关信息(通过传递一个servletContext对象),方法:
servletContext getServletCOntext() 返回含有服务器相关信息的servletContext对象
String getInitParameter(String name) 返回初始化参数的值
getAttribute()与getParameter()的区别:
getAttribute()获取的是放在request域对象中的一个属性,parameter是request请求的一个参数,可以获取url地址/username=zhangsan中的值,而getAttribute()不能。
forward动作:
语法<jsp:forward page="url"/>
等同于:
request.getRequestDispatcher("/url").forword(request,response);
param动作:
语法:<jsp:param name="参数名" value="参数值">
常常与forword一起使用,作为其子标签:
<jsp:forward page="user.jsp">
<jsp:param value="admin@123.net" name="email"/>
<jsp:param value="888888" name="password"/>
</jsp:forward>
WEB-INF目录结构
1,WEB-INF是java的web应用的安全目录,所谓安全就是客户端无法访问,只有服务器端可以访问的目录。
2,web.xml,项目部署文件
3,classes文件夹,用以放置*.class文件
4,lib文件夹,用于存放需要的jar包
web.xml中设定了项目的默认主页:
<welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
项目名——>properties——>MyEclipse——>project facets——>web中可以设置项目的虚拟地址
修改Tomcat服务器默认端口:修改conf/server.xml文件:
<Connector
port="" 为端口号
……/>
三大指令:
page:jsp页面顶端,一个页面可以有多个page
include:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句
taglib:使用标签库定义新的自定义标签,在jsp页面中启用定制行为。
三种注释方式:
html的注释 <!-- --> 客户端可见
jsp注释 <%-- --%> 客户端不可见
jsp脚本注释: <% // %>
Jsp生命周期:
jspservice()方法被表用来处理客户端的请求。对每个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该jsp文件,则jsp引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可以大大降低对系统的资源需求,提高系统的并发量及响应时间。但也要注意多线程的编程带来的同步问题,由于该servlet始终驻于内存,所以响应是非常快的。
用户发送请求(request)
服务器给用户响应(response)
out对象:
缓冲区:buffer,所谓缓冲区就是内存的一块区域来保存临时数据。
out对象是jspwriter类的实例,是向客户端输出内容常用的对象
常用方法:
void println() 向客户端打印字符串
void clear() 清除缓冲区的内容,如果在flush之后调用会抛出异常
void clearBuffer() 清除缓冲区的内容,如果在flush之后调用不会抛出异常
void flush() 将缓冲区内容输出到客户端
int getBufferSize() 返回缓冲区以字节数的大小,如不设缓冲区则为0
int getRemaining() 返回缓冲区剩余可用
boolean isAutoFlush() 返回缓冲区满时,是自动清空还是抛出异常
void close() 关闭输出流
示例:
<% out.println("<h2>静夜思</h2>"); out.println("床前明月光<br>"); out.println("疑是地上霜<br>"); out.flush(); //out.clear();//这里会抛出异常。 out.clearBuffer();//这里不会抛出异常。 out.println("举头望明月<br>"); out.println("低头思故乡<br>"); %>
缓冲区大小:<%=out.getBufferSize() %>byte<br>
缓冲区剩余大小:<%=out.getRemaining() %>byte<br>
是否自动清空缓冲区:<%=out.isAutoFlush() %><BR>
get(搜索,查询,会在地址栏显示出信息)和post(注册,修改,上传,不会显示)
request对象:
客户端的请求信息被封装在request对象中,通过他才能了解到客户的需求,然后响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效,常用方法如下:
String getParamenter(String Name) 返回name指定参数的参数值
String[] getParamenterValues(String name) 返回包含参数name的所有值的数组
void setAttribute(String Object) 存储此请求的属性值
object getAttribute(String name) 返回指定属性的属性值
String getContentType() 得到请求体的MIME类型
String getProtocol() 返回请求用的协议类型及版本号
String getServletName() 返回接受请求的服务器主机号
request.setCharacterEncoding("GB18030"); 接受数据前解决中文乱码问题,无法解决url传值乱码
要解决url传值乱码问题,需要找到tomcat服务器根目录下的conf->server.xml的connertor,,与前面修改端口号的位置一样,在该属性中添加URLEncoding="utf-8",与jsp的类型一致就不会在出现URL中文参数乱码
int getServletPort() 返回服务器接受此请求所用的端口号
String getCharacterEncoding() 返回字符编码方式
int getContentLength() 返回请求体的长度(字节数)
String getRemoteAddr() 返回发送此请求的客户端IP地址
String getRealPath(String path) 返回请求的真实路径
String request.getContextPath() 返回上下文路径
response对象包含了响应客户请求的有关信息,但在jsp中很少直接用到它,它是httpservletResponse类的实例。response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其他页面的response对象对当前页面无效。常用方法如下:
String getCharacterEncoding() 返回响应用的字符编码方式
String getContentType() 得到响应的MIME类型
PrintWriter getWriter() 返回可以向客户端输出字符的一个对象(与内置out对象有区别,他的输出总是提前于内置out对象,可以在out输出写完后,添加一个out.flush(),强制清空缓冲区,清空缓冲区后,浏览器会把out中的值写在浏览器上在进行其他操作,这样writer就在out后输出啦)
sendRedirect(java.lang.String location可以是jsp页面) 重新定向客户端的请求
请求转发和请求重定向的区别:
请求重定向:客户端行为,response.sendRedirect(),从本质上讲等于两次请求,前一次的请求对象不会保存,地址栏的url地址会改变
请求转发:服务器行为,request.getRequestDispatcher().forword(req,resp);是一次请求,转发后请求对象会保存,地址栏的url地址不会改变
page对象:
pageContext对象:
pageContext对象提供了对jsp页面内所有的对象及名字空间的访问pageContext对象可以访问到本页所在的session,也可以取本页所在的application的某一属性值
pageContext对象相当于页面中所有功能的集大成者,本类名也叫pageContent
pageContext.getSession().getAttribute();
config对象
是在一个servlet初始化时,jsp引擎向他传递信息用的,此信息包括servlet初始化时所用到的参数(包括属性名和属性值构成)以及服务器的有关信息(通过传递一个servletContext对象),方法:
servletContext getServletCOntext() 返回含有服务器相关信息的servletContext对象
String getInitParameter(String name) 返回初始化参数的值
Enumeration getInitParameterNames() 返回servlet初始化所需所有参数的枚举
阅读全文
0 0
- JSP&Servlet jsp(2)
- JSP&Servlet--Servlet(2)
- JSP/Servlet-----2、JSP基本原理
- jsp+servlet(2)
- JSP/Servlet: JSP 生命周期
- JSP/Servlet -- JSP容器
- JSP&Servlet--JSP
- jsp&servlet
- Jsp&servlet
- jsp/servlet
- JSP Servlet
- servlet&JSP
- jsp/Servlet
- jsp-servlet
- servlet & jsp
- jsp---->servlet
- servlet/jsp
- jsp+servlet
- 并发Queue一
- hibernate学习笔记(一)
- 多线程总结
- UVA11624 Fire 两次BFS
- Java程序-1
- JSP&Servlet jsp(2)
- SimpleDateFormat 使用注意事项
- linux下boost库的安装及使用
- 连接池
- Could not resolve hostname t143ghl: Name or service not known lost connection
- 配置yum仓库
- Codeforces 780C-Andryusha and Colored Balloons dfs
- js实现汉字转拼音
- ProgressDialog和AsyncTask结合使用