1.JSP弥补了servlet页面显示的不足;jsp运行时候需要转化为servlet,本质上就是servlet;tomcat下的work目录下有jsp的servlet和对应的class文件;下次再调用同一个jsp的话速度就快多了。 2.查看jsp对应的servlet文件可知道jsp集成HttpJspBase类,向上实现HttpJspPage接口,继续JspPage,继续servlet接口。 3.<!-- -->html注释,只注释html,虽然对java也有效,不过在源代码里会有体现的,影响安全性,换成<%-- --%>注释java安全;<%-- --%>JSp多行注释 4.指令(directive);page,include。taglib; <%@ page language pageEncoding contentType(输出的类型,所以可以两种编码)="text/html;charset=utf-8" import session="true"(设置会话是否可用) isErrorPage="true" errPage="/error.jsp"(当前页面错误的话转到该页面)%> <%@ include file(引入版权信息)%>,若是动作指令则<jsp:include page="" /> 看看生成的servlet源文件可发现,include指令只是吧文件完全包含进来了,而后者是采用了类库的那些引入机制引入的。 也可以getRequestDispatcher.forward. 例子尾部
www.v512.com同样头部信息也只需要html的上半部分,同时,jsp页面只需要写html主体。 5.声明(declarartion):<%! %>,在这里面生命的变量对整个jsp页面有效;在<% %>生命的只对方法有效。 6.表达式;<%= %> 7.简单验证
onSubmit="return validate(this)"
function validate(myform){
if(myform.username.value.length == 0){
alert("请填写用户名!");
myform.username.focus();
return false;
}
if(myform.password.value.length == 0){
alert("请填写密码!");
myform.password.focus();
return false;
}
return true;
}8.form表单里action="<%=request.getContextPath()%>/loginHandler.jsp" <%=request.getContextPath()%>是解决相对路径的问题,可返回站点的根路径。
<a href="<%=request.getContextPath()%>/XXX.jsp"> //这样获得的是绝对路径 <a href="XXX.jsp"> //这样获得的是相对路径 <a href="<%=request.getContextPath()%>/XXXX.jsp"> 能够更有效的防治连接的失效 有时候也可以在head里设置html:base 如果想得到工程文件的实际物理路径,可通过:<%=request.getRealPath("/")%>,这样页面就会输出:d:/web 现在request.getRealPath("") 这个方法已经不推荐使用了 可以使用request.getSession().getServletContext().getRealPath() 得到工程文件的实际物理路径,也就是绝对地址 9.计数器需要持久化,通过图片显示
public String transform(long count){
String countNumber=count+"";
String newNumber="";
for(int i=0;i
newNumber=newNumber+"";
}
return newNumber;
}
long count=CountFileHandler.readFile(request.getRealPath("/")+"count.txt");
if(session.getAttribute("visited")==null){
session.setAttribute("visited","y");
//设置一个秒数,这个秒数表示客户端在不发出请求时,session被Servlet引擎维持的最长时间。
//让多长时间内刷新页面计数器不增加
session.setMaxInactiveInterval(60*60*24);
count=count+1;
CountFileHandler.writeFile("/count.txt",count);
}
10.定制错误页面,除了制定isErrorPage或者errorPage外还可以定制,404,505. 配置web.xml
404
/error404.jsp