JavaWeb开发之JSP

2021-07-15  本文已影响0人  小丸子的呆地

什么是JSP

JSP(Java Server Page)是Java服务器端动态页面技术。是sun公司制订的一种服务器端的动态页面生成技术规范。

为什么要使用JSP

因为直接使用Servlet,虽然也可以生成动态页面。但是,编写繁琐(需要使用out.println来输出),并且维护困难(如果页面发生了改变,需要修改Java代码),所以sun指定了JSP规范。

JSP与Servlet的关系

JSP其实是一个以.jsp为后缀的文件,容器会自动将.jsp文件转换成一个.java文件(其实就是一个Servlet),然后调用该Servlet。所以,从本质上讲,JSP其实就是一个Servlet。

如何写一个JSP文件

step1:创建一个以“.jsp”为后缀的文件
step2:在该文件里面,可以添加如下的内容
1)HTML(CSS、JS):直接写即可
2)Java代码:
形式一:Java代码片段:<% Java代码 %>
形式二:JSP表达式:<%= Java表达式 %>
形式三:JSP声明:<%! %>
3)指令

JSP是如何运行的

指令

1)指令是什么
通知容器,在将.jsp文件转换成.java文件时,作一些额外的处理,比如导包。
2)指令的语法
<%@指令名称 属性名=属性值 %>

3)page指令(更多属性,见JSP笔记)
①import属性:导包
例如:

<%@page import="java.util.*"%><!-- 注意:没有分号!-->
<%@page import="java.util.*,java.text.*"%><!-- 多个包以逗号隔开!都在一个双引号里-->

页面显示系统时间

    current time:<% out.println(new Date()); %><br />
    current time:<%=new Date() %>

注意事项:两个是等价,new Date()会被放入out.print();里
②contenType属性:设置response.setContentType的内容
例如:

<%@page import="java.util.*" contentType="text/html;charset=utf-8" %><!-- 属性之间用空格隔开 -->

③pageEncoding属性:告诉容器.jsp的文件的编码格式,这样,容器杂在获取jsp文件的内容(即解码)时,不会出现乱码。最好加入,有些容器默认以ISO 8859-1编码。
例如:

<%@page contentType="text/html;charset=utf-8" pageEncoding="utf-8" %>

注意事项:页面最好添加:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,会影响到CSS样式,甚至JS。如IE有个混杂模式,即自动降级,为了兼容老的页面。
4)include指令
对于页面的公共部分,我们可以使用相同的jsp文件,并使用include指令导入,如此实现代码的优化。
告诉容器,在将.jsp文件转换成.java文件时,在指令所在的位置插入相应的文件的“内容“。插入的页面并未运行,而是机械的将内容插入。
例如:

<%@include file="head.jsp" %>
上一篇 下一篇

猜你喜欢

热点阅读