JSP基础

Jsp基础

1)Jsp的执行过程 :

  • tomcat服务器完成 :
    • jsp文件->翻译成java文件->编译成class字节码文件-> 构造类对象-> 调用方法

2)Jsp语法

  • jsp表达式: <%=变量或表达式%> 向浏览器输出变量或表达式计算的结果
  • jsp脚本: <% java代码 %> 执行java代码 原理:翻译到_jspService()方法中
  • jsp声明: <%! 变量或方法 %> 声明jsp的成员变量或成员方法
  • jsp注释: <%!-- jsp注释 --%> 用于注释jsp代码, 不会翻译到java文件中, 也不会执行
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>



   
    Jsp语法  
  

  
    
    <%
        //变量
        String name = "eric";
        int a = 10;
        int b =20;
     %>
    <%=name %>  
    
<%=(a-b) %>
<% //生成随机数 Random ran = new Random(); float num = ran.nextFloat(); %> 随机小数:<%=num %>
<% for(int i=1;i<=6;i++){ %> >标题<%=i %>> <% } %>
<% for(int i=1;i<=9;i++){//行 for(int j=1;j<=i;j++){//公式 %> <%=i %> x <%=j %>=<%=(i*j) %> <% } %>
<% } %> <% String age = "20"; /* 脚本中不能声明方法 public String getAge(){ return age; } */ %> <%! //变量 String name = "jacky"; public String getName(){ return name; } /*jsp声明中不能重复定义翻译好的一些方法 public void _jspInit(){ } */ %> <%-- --%> <%-- jsp注释 --%>

3)jsp的三大指令

  1. include指令 : 用于包含其他页面 (原理: 先合并再翻译, 叫静态包含)
  <%@include file="common/header.jsp"%>
  1. page指令 : 告诉tomcat服务器如何把jsp文件翻译成java文件
- language : 翻译的动态语言
- import : 类导入
- jsp文件编码问题:
   1. pageEncoding: 告诉tomcat服务器使用什么编码翻译jsp文件(jsp->java文件)
   2. contentType: tomcat服务器发送给浏览器的数据编码(tomcat服务器->浏览器)
<%@ page 
              language="java" 
              import="java.util.*,java.text.*" 
              pageEncoding="utf-8"
    %>


             
                page指令  
            
            
                <%
                    new Date();
                    new SimpleDateFormat();
                %>
                老王
            

- 异常错误相关的:
   1. errorPage:  指定当前jsp页面的错误处理页面
   2. isErorrPage:  指定当前页面是否为错误处理页面。false->不是错误处理页面,则不能使用exception内置对象; true->错误处理页面, 可以使用exception内置对象
   - 配置全局的错误处理页面 : 

  
    500
    /common/500.jsp
  
  
    404
    /common/404.html
  
- session : 是否开启session功能。false->不能用session内置对象;true->可以使用session内置对象
- buffer : jsp页面的缓存区大小
- isELIgnore : 是否忽略EL表达式
  1. taglib指令

Jsp最佳实践

  • Servlet技术: 开发动态资源。是一个java类,最擅长写java代码
  • jsp技术: 开发动态资源。通过java代码最擅长输出html代码。
  • 在web项目中涉及到逻辑:
    1)接收参数 servlet做
    2)处理业务逻辑,返回结果 servlet做
    3)显示数据到浏览器 jsp做
    4)跳转到其他页面 servlet做
  • servlet+jsp模式 : servlet的数据->jsp页面, 使用域对象 共享数据
    • servlet: 接收参数; 处理业务逻辑; 把结果保存到域对象中; 跳转到jsp页面
    • Jsp : 从域对象取出数据, 把数据显示到浏览器

你可能感兴趣的:(JSP基础)