JSP - 基础篇

版权声明: https://blog.csdn.net/Dream_Weave/article/details/82927111
  1. 第一个 JSP 程序












  2. JSP简介
    a、JSP全名为Java Server Pages,中文名叫Java服务器页面,其根本是一个简化的Servlet设计。
    b、JSP是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*jsp)。
    c、用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
  3. JSP程序的执行过程

    Ps:这里的hello.java文件其实是servlet程序。
  4. JSP程序的生命周期
  5. JSP声明语法

    Ps:编译时,会直接转成Java类文件中的【成员变量】和【成员方法】。
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    
    <%!
    	String str = "hello world";
    	String getStr(){
    		return "hello world2";
    	}
    %>
    <hr>
    <% out.println(this.str); %>
    <hr>
    <%= this.getStr() %>
    
    </body>
    </html>

  6. JSP程序脚本
    a、包括变量的声明、表达式和程序逻辑。
    b、声明的变量转换为_service方法中的变量,因而是局部变量。
    c、语句块可以自由地与将Java脚本与页面代码组合使用。
    d、<%! %> // 成员变量、方法;<%  %> // 局部变量、方法。
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    
    <% int i = 10; %>
    <%
    	if(i > 10){
    		out.println("i > 10");
    	}else{
    		out.println(" i <= 10");
    	}
    %>
    <hr>
    <%if(i > 10){ %>
    <span>i > 10</span>
    <%}else{ %>
    <span>i <= 10</span>
    <%} %>
    
    </body>
    </html>
    Ps:Java代码和HTML代码交互式设计。
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    
    <%! int totalCount = 0; %>
    <% 
    		int localCount = 0;
    		totalCount ++;
    		localCount ++;
    %>
    <%
    		out.println(totalCount);
    		out.println("<br>");
    		out.println(localCount);
    %>
    
    </body>
    </html>

    Ps:选项d。刷新12次。

  7. JSP注释

  8. JSP内容输出表达式
  9. JSP包引入语法
  10. JSP - 起源、执行过程、运行原理、生命周期
  11. JSP内置对象
    a、简介
      - 请求与响应模式JSP内置对象。
        1.内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在牌本代码和表达式中随意使用。
        2.为什么要使用内置对象?
      - 作用域:pageContext,request,session,aplication。
    b、request、out、response对象应用
      - request:封装了由WEB浏览器或其它客户端生成地HTTP请求的细节(参数,属性,头标和数据)。
      - request作用域:用户的请求周期。
      - out:代表输出流的对象。
      - response:封装了返回到HTTP客户端的输出,向页面作者提供设置响应头标和状态码的方式。
    c、pageContext、page对象应用
    d、session、config、exception对象应用
    e、aplication对象应用
  12. out 对象

  13. request 对象
    a、作用域
      - request作用域在相邻两个web资源之间共享同一个。
      - request请求对象时使用。

    Ps:13 line 针对绑定在哪个*.jsp上有效。

  14. response 对象
  15. pageContext 对象
      - pageContext:提供所有四个作用域层次的属性查询和修改能力,它也提供了转发请求到其它资源和包含其他资源的方法。
    <!-- index.jsp -->
    <%@ 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的作用:
    		1、forward方法来完成请求的转发
    		2、include方法
    		3、pageContext可以来获取其他的内置对象。getRequest,getSession....
                    4、作用域在当前页面
    	 -->
    	 
    	<%
    		//pageContext.include("header.jsp");
    		pageContext.forward("a.jsp?name=imooc");
    	%>
    
            <%
                    pagecontext.setAttribute("age",12);
            %>
            <br/>
            pageContext作用域中获取的值:<%=pageContext.getAttribute("age")%>
    
    </body>
    </html>
    <!-- a.jsp -->
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    	<%= pageContext.getRequest().getParameter("name") %>
    </body>
    </html>



  16. page 对象
      - page:代表了正在运行的由JSP文件产生的类对象。
      - page作用域:当前执行页面。

  17. session 对象
    a、session:主要用于跟踪会话什么是会话?(作用域:会话期间)
    A:会话是代表用户第一次进入当前系统直到退出系统或关闭浏览器,在此期间与服务器的一系列交互。
    b、设置session有效时间的方法:
    session.setMaxInactiveInterval(int second)参数为秒如果设置session有效时间为5分钟,则为:session.setMaxInactivelnterval(5*60)。
    c、API:setAttribute().../getAttribute()...

  18. config 对象(获取配置信息)
    web.xml

    login.jsp

    效果图


  19. exception 对象(异常对象)
    <%@ page language="java" contentType="text/html; charset=UTF-8" errorPage="error.jsp"
        pageEncoding="UTF-8" import="com.imooc.db.*,com.imooc.bean.*,java.util.*"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Insert title here</title>
    </head>
    <body>
            //...
    	<%
    		}else{
    			throw new Exception("账号和密码错误");
    		}
    	%>
    </body>
    </html>
     
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" isErrorPage="true"%>
    <!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>
    	<!-- 
    		1、exception对象只能在错误页面页面中使用,page加入一个属性 isErrorPage="true"(default:false)
    		2、有一个页面出现了异常,在页面中指定一个错误处理的页面,page指令当中,errorpage来指定。
    	 -->
    	<%= exception.getMessage() %>
    </body>
    </html>

  20. application 对象
      - application:提供了关于服务器版本,应用级初始化参数和应用内资源绝对路径,注册信息的方式。
      - application作用域:web容器的生命周期(即:服务器开启时,application生命周期就开始,直到服务器关闭为止)。


  21. JSP 报错问题:
    1、“String cannot be resolved to a type” :如果是在导入的项目的情况下,多数情况下就是jdk版本与项目的jdk版本不匹配,解决方法:右击工程->Build Path->Configure Build Path->Libraries,双击JRE System Library,如果出现红叉,表示没有选择JRE,这是需要选中对应的JDK,里面包括JRE。这样就OK了。 
  22. 待更新...

猜你喜欢

转载自blog.csdn.net/Dream_Weave/article/details/82927111