JSP
1.JSP是简Servlet编写的一种技术,他将JAVA代码和HTML语句混合在同一个文件中编写
只是对网页要动态产生的内容采取JAVA代码来编写,而对固定不变的静态内容采用普通静态HTML页面方式编写。
2.hellpworld:
新建一个JSP页面,在body节点内<%%>即可编写Java代码
<%
Date date = new Date();
System.out.println(date);
%>
3.JSP可以放置在WEB应用程序中的除了WEB-INF及其子目录外的其他任何目录中,JSP页面的访问路径与普通HTML访问路径形式也一样
4.JSP本质就是一个servlet
每一个JSP页面在第一次被访问时 JSP引擎将他翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的Class类文件,然后再由WEB容器(Servlet引擎)像调用普通的Servlet程序一样的方式来装载和解释执行这个由JSP页面译成的Servlet程序
5.JSP页面的隐含变量:没有申明的对象.JSP页面一共有九个隐含对象
public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException {
final java.lang.String _jspx_method = request.getMethod();
final javax.servlet.jsp.PageContext pageContext;
javax.servlet.http.HttpSession session = null;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;
//使用<%%>编写的代码,可以用到request,response,pageContext,session,application,config,out,page这八个隐含对象(实际上还有一个exception的隐含对象)
1>request:HttpServletRequest
http://localhost:8090/Day31/hello.jsp?name=123
String name = request.getParameter("name");
System.out.println(name);
2>response:HttpServletResponse的一个对象(JSP页面中几乎不会调用response的任何方法)
System.out.println(response instanceof HttpServletResponse);
3>pagContext:页面的上下文是PageContext的一个对象,可以重该对象中获取到其他八个隐含对象,也可以重中获取到页面的其他信息(学习自定义标签)
ServletRequest req = pageContext.getRequest();
System.out.println(req == request);
4>session:代表浏览器服务器对话,是HttpSession的一个对象
System.out.println(session.getId());
5>application:代表当前WEB应用,是一个ServletContext对象
System.out.println(application.getInitParameter("password"));
6>config:当前JSP对应的Servlet的ServletConfig对象(几乎不用),若需要访问当前配置的JSP配置初始化信息,需要通过映射来实现
7>out:JsWriter对象.调用out.println()可以直接把字符打印到页面上
String name = request.getParameter("name");
out.println(name);
8>page:指向当前JSP对应Servlet对象的引用,但对象为object类型,只能调用object类的方法
out.println(page);
org.apache.jsp.hello_jsp@14d971bf
9>exception:在申明类配置指令才可以用isErrorPage="true"
<% page isErrorPage="true" %>
pageContext,request,session,application(对属性作用域范围从小到大)
6. JSP模板元素:JSP页面中的静态HTML内容统称
7.JSP表达式(expression)提供一个JAVA变量或表达式的计算结果输出到客户端的简化式,
将要输出的变量或表达式直接分装到<%= 和%>之中
<%
Date date = new Date();
out.print(date);
%>
<%= date %>
8.JSP的脚本片断(ecriptlet)是指嵌套在<%和%>中的一条或多条JAVA代码,多个脚本片段方法可以互相访问
<%
String ageStr = request.getParameter("age");
Integer age = Integer.parseInt(ageStr);
if(age >= 18){
%>
成人...
<%
}else{
%>
未成人...
<%
}
%>
9.JSP声明:JSP声明将JAVA代码封装在<%! 和 %>之中,它里面的代码将被插入到servlet的_jspService方法的外面(JSP中重不这样使用)
<%! void text(){} %>
10.JSP注释:
<%-- JSP注释 --%>:可以阻止 java代码执行
<!-- html注释 -->:

浙公网安备 33010602011771号