jsp开发技术

发布时间:2025-12-09 12:00:28 浏览次数:2

一、为什么说JSP也是动态web开发的一项技术呢?这是因为写JSP虽然像是在写HTML,但是JSP允许在页面中嵌套Java代码,或者利用某个标签表示Java代码(EL与jstl)。这就使得我们在写JSP时能够获取请求对象Request和响应对象Response等这样的web开发常用对象,实现与浏览器的交互。

jsp在第一次被访问时会被Web容器翻译成servlet,在执行

过程:

第一次访问—->helloServlet.jsp—->helloServlet_jsp.java—->编译运行(实际运行jsp.java)最终运行class文件;

PS:被翻译后的servlet在Tomcat的work目录中可以找到;

二、page三大指令;

  1) page指令

  2) include指令

  3) taglib指令

三、jsp 九大隐式对象

名称                                         类型                                                             描述out                                         javax.servlet.jsp.JspWriter                                  用于页面输出request                                     javax.servlet.http.HttpServletRequest                      得到用户请求信息,response                                    javax.servlet.http.HttpServletResponse                    服务器向客户端的回应信息config                                      javax.servlet.ServletConfig                               服务器配置,可以取得初始化参数session                                     javax.servlet.http.HttpSession                            用来保存用户的信息application                                 javax.servlet.ServletContext                              所有用户的共享信息page                                        java.lang.Object                                          指当前页面转换后的Servlet类的实例(在普通类中的this)pageContext                                 javax.servlet.jsp.PageContext                             JSP的页面容器exception                                   java.lang.Throwable                                       表示JSP页面所发生的异常,在错误页中才起作用

四、jsp有四大作用域 作用分别如下:

pageContext域:当前jsp页面范围

request域:一次请求

session域:一次会话

application域:整个web应用(相当于ServletContext这个域);

五、

1)pageContext是一个域对象

setAttribute(String name,Object obj)

getAttribute(String name)

removeAttrbute(String name)

pageContext可以向指定的其他域中存取数据

setAttribute(String name,Object obj,int scope)

getAttribute(String name,int scope)

removeAttrbute(String name,int scope)

findAttribute(String name)

—依次从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在向后寻找;

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>insert title here</title></head><body>    <%         pageContext.setAttribute("username", "小红帽");        pageContext.setAttribute("username", "大红帽",PageContext.REQUEST_SCOPE);        pageContext.setAttribute("username", "小蓝帽",PageContext.SESSION_SCOPE);        pageContext.setAttribute("username", "小黄帽",PageContext.APPLICATION_SCOPE);    %>    <%=pageContext.findAttribute("username") %></body></html>

这个地方只打印出来了小红帽 这就是前面所说的 在某个域中获取后将不在向后寻找;因此在取名key值的时候 名字最好不要相同;

155375.html

jsp开发
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477