1.jsp指令。
包含page指令,include指令,taglib指令。
page指令通常位于jsp页面的顶端,同一个页面可以有多个page指令。
include指令,将一个外部文件嵌入到jsp文件中,同时解析这个这个页面的jsp语句。
taglib指令,使用标签库定义新的自定义标签,在jsp页面中启用定制行为。
2.jsp脚本。
写在<% %>里面的叫jsp脚本,例如<% out.print("这是jsp脚本")%>
3.jsp声明
<%!
String s="张三丰";//声明变量
int add(int x,int y){//声明方法,方法返回int类型
return x+y;
}
%>
4.jsp表达式。
<%=s%>//取到上面定义的s变量
<%=add(5,10)%>//调用上面的函数
5.jsp页面的生命周期。
例如用户要访问一个jsp页面。
用户发出访问请求,判断是否是第一次请求这个页面,是,jsp引擎把该jsp文件转化为一个servlet,生成字节码文件,并执行jspinit();解析执行jspService();
如果不是直接解析执行jspService();
jspService()方法被调用来处理客户端请求。 对每一个请求,jsp引擎都会创建一个新的线程来处理该请求。多线程处理亲求。大大降低对系统的资源需求,提高系统的并发量和响应时间,但也要注意多线程编程的数据同步问题,由于该servlet常驻于内存,所以响应是非常快的。
6.分别使用表达式和脚本打印99乘法表。
(1)表达式:
<%!
String djdj(){
String s ="";
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
s+=i+"*"+j+"="+i*j+" ";
}
s+="</br>";
}
return s;
}
%>
<%=djdj() %>
(2.)脚本。
<%!
void qwe(JspWriter out) throws Exception{
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
out.println(j+"*"+i+"="+i*j+" ");
}
out.println("</br>");
}
}
%>
<%qwe(out); %>
7.get和post的区别
get:以明文的方式是通过url提交数据,数据可以在url中看到,提交的数据不能超过2kb。安全性能比post低,但效率比post高。适合提交数据量不大,安全性不高的数据,比如,搜索查询等。
post:将要提交的信息封装在HTML HEADER内,适合提交数据量大的,安全性能高的数据,比如修改,注册,上传等。
8.request:
9.解决超链接传参中文乱码问题:在tomcat目录中的service.xml第70行添加一个URLEncoding="utf-8";
10.response:
11.请求转发和重定向的区别。
请求转发:服务器行为,request.getRequestDispatcher(),forward(request req,response res);是一次请求,转发后请求对象会保存,地址栏的url不会改变。
重定向:客户端行为response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求不会保存对象,url地址栏会改变。
12.session
session常用的方法
设置session超时有两种方式:
1. session。setMaxInactiveInterval(时间);//单位是秒
2. 在web,xml配置
<session-config>
<session-timeout>10</session-timeout>
</session-config> //单位是分钟。
12.application
13.page
15.pageConctext
16.config
17.exception
page指令的errorPage属性表示页面发生异常时交给哪个页面去处理。例如:errorPage="exception.jsp"表示页面发生异常交给exception.jsp页面处理。在exception.jsp页面的page指令中添加isErrorPage="true"就可以处理此异常。
18.javaBeans
普通的Java类,条件:公共类,私有属性,无参的构造方法,get,set方法
标签<jsp:userBean id="",class="com.**.**",scope="page"/>获取javaBean
<jsp:setPropert>给已经实例化的javaBean进行赋值,一共有四种形式。
<jsp:setProperty name="" property="*"/>name要和<jsp:userBean>中id的属性一致,关联表单提交过来的所有属性
<jsp:setProperty name="javaBean实例名" property="javaBean属性名"/>关联表单提交的单个属性。
<jsp:setproperty name="javaBean实例名" property="javaBean属性名" value="javaBean属性的值"/>
<jsp:setproperty name="javaBean实例名" property="javaBean属性名" param="超链接传来的属性"/>超链接传值赋给javaBean属性
用getproperty获取javaBean指定的值
<jsp:getproperty name="javaBean实例名" property="javaBean属性名"/>
19.JavaBean的作用域
20.cookie