jsp知识回顾
2011-11-08 09:19
483 查看
好吧.简单总结下jsp
1. Tomcat运行时候需要配置JAVA_HOME,因为在一台电脑上可能存在多个JDK.需要配置到底使用哪一个JDK.
2. tomact主目录中的文件夹
a) bin:所以的可执行文件
b) common:里面存放需要的*.jar包
c) conf:配置文件,服务器修改都要在此目录中进行,里面的server.xml是配置的核心文件
d) logs:日志文件,如果服务器错误就会自动记录
e) server:服务的管理程序
f) webapps:所以的可执行的WEB项目就会放在这个目录中
g) work:此文件夹中保存所以的临时文件.
配置虚拟目录,在WEB-INF下的web.xml文件中
<Context path=”/billy” docBase=”P:\temp”/>
path:表示浏览器中输入的路径:必须有”/”
docBase:表示此目录对应硬盘中的真实目录
配置文件改了必须重启服务器
修改conf/web.xml显示列表功能
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
3. 恩,现在开发环境转到myeclipse.下面来看看用jdbc+jsp写的一个小小的登录程序,贴个javascript的代码就行了
4. 进入JSP语法的学习
jsp三种注释:
显式注释:<!-- -->
隐式注释:就是java注释 :// /* …*/
jsp自己的注释:<%-- --%>
jsp三种Scriptlet:
<%%>:可以定义变量,编写语句
<%!%>:定义全局常量,编写方法,编写类,但是不会在jsp中定义一个类.里 面绝对不能写语句
<%=%>:表达式输出,可以直接使用此形式的Scriptlet输出一个变量或一个具体的内容
5. 虽然有out.println和<%=%>两种输出方式,但是不会用第一种
6. jsp的几个指令
@page:设置MIME类型(可以到con/web.xml中查找相应的MIME类型)
例子:<%@page contextType=”text/html;charset:GBK%>
import:是page指令中唯一允许设置多次的指令,目的是导包.
<%@page import=”java.sql.*”%>
<%@page import=”java.util.*,java.io.*%>
@include:静态包含,可以包含任意的文件,只负责包含内容而已
jsp:include ,这个是动态包含,如果包含的是jsp,则先处理之后再将结果包含,如果不是*.jsp文件,那么就和@include一样
forward:跳转指令,是服务器跳转,地址栏信息不改变
形式
<jsp:forward page=”页面”
<jsp:forward page=”页面”>
<jsp param name=”参数名称” value=”值”/>
</jsp:forward>
在客服端用request.getParameter(name)接收参数.
7. 内置对象介绍
a) 九个内置对象
8. 四种属性范围
当前页,request,session,application.
page属性范围:虽然习惯上将页面范围的属性称为page范围,但是实际中操作的时候是使用pageContext内置对象完成的.pageContext从字面上看表示一个页面的上下文,表示 所有页面内容.
补充说明:四种属性范围,实际上都是通过pageContext属性范围一起设置上的.public void setAttribute(String name,Object,int scope)
9. 属性的操作方法
10.request内置对象:
request接收参数:request.getParameter(String name);
request.setCharacterEncoding("UTF-8")的作用是设置对客户端请求进行重新编码的编码
get、post提交:
get会在地址栏中显示提交的内容
地址栏最大能放4K-5K容量的文字,所以过大肯定无法提交
post不在地址栏显示,理论上是任意长度,但是如果太长会超出HTTP的超 时时间的限制
url重写:使用地址重写的方式传递参数
隐藏域传递参数
在表单中有一种隐藏域的对象,此对象中的内容会随着表单的提交一起提交到JSP页面上.
设置:<input type =”hidden” name=”var” value”billy”>
取得:String var = request.getParameter(“var”);//接收表达参数
接收多个参数需要用request.getParameterValues()
request02.htm
request02.jsp
取得表单提交参数所以名称:getParameterNames()
取得客户端IP:request.getRemoteAddr()
response内置对象:
取得全部头信息:request.getHeaderNames()
指定头信息:public String getHeader(java.lang.String name)
response.sendRedirect(“url”)这个是客户端跳转,地址栏信息会改变;
两种跳转的比较:
Cookie类的主要方法
session内置对象:
取得sessionid: session.getId()
让session失效: session.invalidate();
判断是否是新的session: session.isNew()
application内置对象:
获得真实路径: application.getRealPath(“/”)
实际用getSeverletContext()来表示application:因为有些Web服务器不直接支持使用application对象,getServerletContext()由容器调用相当于this. getServerletContext()
application对象常用作网站的计数器
1. Tomcat运行时候需要配置JAVA_HOME,因为在一台电脑上可能存在多个JDK.需要配置到底使用哪一个JDK.
2. tomact主目录中的文件夹
a) bin:所以的可执行文件
b) common:里面存放需要的*.jar包
c) conf:配置文件,服务器修改都要在此目录中进行,里面的server.xml是配置的核心文件
d) logs:日志文件,如果服务器错误就会自动记录
e) server:服务的管理程序
f) webapps:所以的可执行的WEB项目就会放在这个目录中
g) work:此文件夹中保存所以的临时文件.
配置虚拟目录,在WEB-INF下的web.xml文件中
<Context path=”/billy” docBase=”P:\temp”/>
path:表示浏览器中输入的路径:必须有”/”
docBase:表示此目录对应硬盘中的真实目录
配置文件改了必须重启服务器
修改conf/web.xml显示列表功能
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
3. 恩,现在开发环境转到myeclipse.下面来看看用jdbc+jsp写的一个小小的登录程序,贴个javascript的代码就行了
<script language="javascript"> function validate(f){ if(!(/^\w{5,15}$/.test(f.userid.value))){ alert("用户id必须是5-15位!"); f.userid.focus(); return false; } if(!(/^\w{5,15}$/.test(f.password.value))){ alert("密码必须是5~15位!"); f.password.focus(); return false; } return true; </script>
4. 进入JSP语法的学习
jsp三种注释:
显式注释:<!-- -->
隐式注释:就是java注释 :// /* …*/
jsp自己的注释:<%-- --%>
jsp三种Scriptlet:
<%%>:可以定义变量,编写语句
<%!%>:定义全局常量,编写方法,编写类,但是不会在jsp中定义一个类.里 面绝对不能写语句
<%=%>:表达式输出,可以直接使用此形式的Scriptlet输出一个变量或一个具体的内容
5. 虽然有out.println和<%=%>两种输出方式,但是不会用第一种
6. jsp的几个指令
@page:设置MIME类型(可以到con/web.xml中查找相应的MIME类型)
例子:<%@page contextType=”text/html;charset:GBK%>
import:是page指令中唯一允许设置多次的指令,目的是导包.
<%@page import=”java.sql.*”%>
<%@page import=”java.util.*,java.io.*%>
@include:静态包含,可以包含任意的文件,只负责包含内容而已
jsp:include ,这个是动态包含,如果包含的是jsp,则先处理之后再将结果包含,如果不是*.jsp文件,那么就和@include一样
forward:跳转指令,是服务器跳转,地址栏信息不改变
形式
<jsp:forward page=”页面”
<jsp:forward page=”页面”>
<jsp param name=”参数名称” value=”值”/>
</jsp:forward>
在客服端用request.getParameter(name)接收参数.
7. 内置对象介绍
a) 九个内置对象
No | 内置对象 | 类型 |
1 | pageContext | javax.servlet.jsp.PageContext |
2 | request | javax.servlet.http.HttpServletRequest |
3 | response | javax.servlet.http.HttpServletResponse |
4 | session | javax.servlet.http.HttpSession |
5 | application | javax.servlet.ServletContext |
6 | config | javax.servlet.ServletConfig |
7 | out | javax.servlet.jsp.JspWriter |
8 | page | javax.lang.Object |
9 | exception | java.lang.Throwable |
当前页,request,session,application.
page属性范围:虽然习惯上将页面范围的属性称为page范围,但是实际中操作的时候是使用pageContext内置对象完成的.pageContext从字面上看表示一个页面的上下文,表示 所有页面内容.
补充说明:四种属性范围,实际上都是通过pageContext属性范围一起设置上的.public void setAttribute(String name,Object,int scope)
9. 属性的操作方法
No | 方法 | 描述 |
1 | public void getAttribute(String name,Object value) | 设置属性 |
2 | public Object getAttribute(String name) | 取得属性 |
3 | public void removeAttribute(String name) | 删除属性 |
request接收参数:request.getParameter(String name);
request.setCharacterEncoding("UTF-8")的作用是设置对客户端请求进行重新编码的编码
get、post提交:
get会在地址栏中显示提交的内容
地址栏最大能放4K-5K容量的文字,所以过大肯定无法提交
post不在地址栏显示,理论上是任意长度,但是如果太长会超出HTTP的超 时时间的限制
url重写:使用地址重写的方式传递参数
隐藏域传递参数
在表单中有一种隐藏域的对象,此对象中的内容会随着表单的提交一起提交到JSP页面上.
设置:<input type =”hidden” name=”var” value”billy”>
取得:String var = request.getParameter(“var”);//接收表达参数
接收多个参数需要用request.getParameterValues()
request02.htm
<form action = “request02.jsp” method=”post”> 兴趣:<input type =”text” name=”inst” value=”游泳">游泳 <input type =”text” name=”inst” value=”唱歌">唱歌 <input type =”text” name=”inst” value=”跳舞">跳舞 </form> |
<%@ page contentType=”text/html;charset=GBK”%> <% request.setCharsetEncoding(“GBK”): String[] inst=request.getParameterValues(“inst”); //接收表单参数 %> <h2>兴趣: <% for(int i=0;i<inst.length;i++){ %> <%=inst[i]%>、 <% } %> </h2> |
取得客户端IP:request.getRemoteAddr()
response内置对象:
No | 方法 | 描述 |
1 | public void setHeader(String name,String value) | 设置头信息名字内容 |
2 | public void setRedirect(Stirng locations)throws java.IOException | 页面跳转 |
3 | public void addCookie(Cookie cookie) | 客户端加入Cookie |
4 | public void setContentType(java.lang.String type) | 设置返回类型 |
指定头信息:public String getHeader(java.lang.String name)
response.sendRedirect(“url”)这个是客户端跳转,地址栏信息会改变;
两种跳转的比较:
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 |
No | 方法 | 类型 | 描述 |
1 | public Cookie(String name,String value) | 构造 | 实例化Cookie对象,传入名称和值 |
2 | public java.lang.String getName() | 普通 | 取得Cookie的名字 |
3 | public void setValue(java.lang.String newValue) | 普通 | 修改内容 |
4 | public void setMaxAge(int expiry) | 普通 | Cookie的最大保存时间 |
取得sessionid: session.getId()
让session失效: session.invalidate();
判断是否是新的session: session.isNew()
application内置对象:
获得真实路径: application.getRealPath(“/”)
实际用getSeverletContext()来表示application:因为有些Web服务器不直接支持使用application对象,getServerletContext()由容器调用相当于this. getServerletContext()
application对象常用作网站的计数器
相关文章推荐
- JSP知识回顾
- JSP常用动作标签知识回顾
- jsp/java web基础知识回顾
- JSP的语法、指令、动作元素、隐含对象知识回顾
- java基础知识回顾之面向对象
- 29、(知识篇)SpringMVC06 Spring jstlview国际化/访问/web-inf/下的jsp/访问静态资源
- Java基础知识回顾-4 字符输入输出流
- CSS知识回顾--读《CSS 那些事儿》笔记
- 北京圣思园_Java SE 基础知识回顾
- Shiro入门这篇就够了【Shiro的基础知识、回顾URL拦截】
- java基础知识回顾之接口
- Servlet&JSP学习笔记:Web应用程序基础知识
- C#基础知识回顾一ref 和 out
- jsp基础知识
- JSP知识之‘23379’
- JSP 语法基础知识
- java基础知识回顾之异常处理
- C#基础知识回顾-- 反射(1)
- jsp基础知识详解
- 工作第二年,知识回顾,未来一年目标