JSP的编写规范

1.为什么有jsp规范

Servlet技术产生后,在使用时最麻烦的是使用大量的out.print语句来输出页面。这样的形式在系统变更、维护、预览效果时都不能方便快捷的完成任务,于是推出JSP这种技术,用来将Servlet中负责显示的语句抽取出来。

Servlet向客户端浏览器返回一个HTML页面代码如下(大量的out.print语句,太过繁琐):

 public class HelloWorld extends HttpServlet {  
        public void doGet(HttpServletRequest request, HttpServletResponse response)  
                throws ServletException, IOException {  
            response.setContentType("text/html");  
            PrintWriter out = response.getWriter();  
            out.println("<html>");  
            out.println("<head>");  
            out.println("<title>Hello World</title>");  
            out.println("</head>");  
            out.println("<body>");  
            out.println("<h1>Hello World!</h1>");  
            out.println("</body>");  
            out.println("</html>");  
        }  
    }  

2.什么是JSP

Sun公司制定的一种服务端动态页面技术的组件规范。JSP是一个以“.jsp”为后缀的文件,在该文件中,主要是HTML和少量的java代码。JSP文件会被容器换成一个Servlet类,然后执行。

如下图,就是一个jsp被编译成的class文件,是一个servlet类,系统自动命名为:jsp文件名_jsp.class

转义成Servlet时的规则:成为Servlet中servlce()方法的out.write语句(方法名为_jspService)

 

3.如何编写JSP

1.写一个以".jsp"为后缀的文件

2.在该文件中可以包含如下内容:

-HTML(css,JavaScript)

-注释

-java代码

-指令

-隐含对象

4.JSP页面中的HTML代码

JSP页面中的HTML包括

-HTML标记

-CSS

-JavaScript

向编写HTML一样编写即可

作用:控制页面在浏览器中的显示效果

转义成Servlet时的规则:成为Servlet中servlce()方法的out.write语句

5.JSP页面中的注释

  1. 显式注释(HTML注释):直接使用HTML风格的注释:<!- - 注释内容- ->
  2. 隐式注释:直接使用JAVA的注释://、/*……*/
  3. JSP特有的注释:<%- - 注释内容- -%>

JSP自己的注释和HTML注释的区别:JSP自己的注释可以阻止java代码的执行,JSP特有的注释在百分号后面有2个横线,注意区分JSP的小脚本。

HTML注释中如果包含java代码,这些java代码也会被执行(展示如下图)

 6.JSP页面中的Java 代码

包含以下三种

  1. JSP表达式
  2. JSP小脚本
  3. JSP声明

编写位置:页面任意位置

作用:控制页面中可变内容的产生

6.1JSP表达式

语法规则:<%= .....%>

合法内容:变量,变量加运算符组成的表达式,有返回值的方法

转义成Servlet时的规则:在service()方法中用out.print语句输出该变量、表达式方法的值

示例如下:

<p>The square root of 5 is<%=Math.sqrt(5)%></p>

//转换成如下代码
out.write("<p>The square root of 5 is");
out.write(Math.sqrt(5));
out.write("</p>");

7.JSP小脚本

语法规则:<%  ...   %>

合法内容:能够写在方法里的Java代码片段都可以作为小脚本

转义成Servlet时的规则:原封不动成为Servlet类的service()方法里面的一段代码

  <%
  String name = request.getParameter("name");
  if (name!=null&&!name.equals("")){
  %>
  <p>your name is<%= name%></p>
  <%
    }
  %>

//转换成如下代码插入到service()方法中
String name = request.getParameter("name");
  if (name!=null&&!name.equals("")){
   out.write("<p>your name is");
   out.print(name);
   out.write("</p>");
}

8.JSP声明

语法规则:<%!  ...  %>

合法内容:成员属性和成员方法的声明

转义为Servlet时的规则:成为JSP页面转译成的Servlet类中成员属性或成员方法

9.JSP页面中的指令

语法规则:<%@指令名 属性=值 %>

常用指令:

-page指令

-include指令

-taglib指令

作用:控制JSP在转译成Servlet类时生成的内容

10.page 指令

作用:用于导包、设置页面属性

<%--导包--%>
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>

<%--设置response.setContentType()方法的参数值--%>
<%@ page  ContentType="image/gif" %>


<%--设置容器读取该文件时的编码--%>
<%@ page  pageEncoding="utf-8" %>

11.include指令

作用:在JSP页面转换成Servlet时,能够将其他文件包含进来。可以包含JSP文件,也可以是静态的HTML文件。

通过该语句能方便的在每个JSP页面中包含导航栏、版权声明、logo等。

语法:<%@include file ="url" %>

例如:

<%@ include file = "head.html" %>

12.如何将静态页面转换为动态页面

  • 拷贝静态页面代码置JSP页面
  • 添加page指令pageEncoding和contentType
  • 修改页面内容与目标页面一致
  • 将需要动态生成的内容删除,替换为java代码

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值