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注释 -->:

 

posted @ 2020-02-28 09:49  野香蕉  阅读(142)  评论(0)    收藏  举报