前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSP/Servlet Web 学习笔记 DayOne

JSP/Servlet Web 学习笔记 DayOne

作者头像
Rekent
发布2018-09-04 15:09:42
6310
发布2018-09-04 15:09:42
举报
文章被收录于专栏:日常分享日常分享

JSP概述

  1)JSP是一种动态网页技术标准,它是在传统的页面HTML文件中插入Java程序段和JSP标记(tag),从而形成JSP文件(*.jsp),也称JSP页面。

  2)JSP容器是一个支持JSP的Web服务器。目前Apache的Jakarta Tomcat服务器就是运行JSP/Servlet的Web服务器,它作为JSP Web应用的最佳选择之一。


JSP的工作原理

  当一个JSP页面第一次被访问时的初始化过程:

  a)首先会被JSP容器翻译为一个Java源文件,其实就是一个Servlet

  b)并进行编译生成相应的字节码.class

  c)然后像其他Servlet一样,由JSP/Servlet容器来处理

  e)JSP/Servlet容器装载着这些类、接收来自客户端请求,并将处理结果返回客户端

  注意:

  a)如果以后再访问这个页面,只要页面没有发什么改变,JSP容器可以直接调用已经装载好的Servlet;

  b)JSP页面有与之一一对应的Servlet。一般情况下,JSP注重页面表现,而Servlet注重业务逻辑。


JSP基本语法

  JSP基本结构:

代码语言:javascript
复制
<%@ 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>
<% out.println("hello world"); %>
</body>
</html>

 a)注释

  1)HTML/XML注释    在源码中显示

代码语言:javascript
复制
<!-- 网页注释内容 -->

  2)隐藏注释            源码中不显示

代码语言:javascript
复制
<%-- 网页注释内容 --%>

  b)表达式 用来把Java数据直接插入到浏览器页面输出 <%= Java Expression %>

代码语言:javascript
复制
<%= "Hello World" %>

  编译成Servlet后,就变成:

代码语言:javascript
复制
out.write(String.valueOf("Hello Word"));

  相当于JSP页面:

代码语言:javascript
复制
out.printlin("Hello World");

c) Scriptlet 允许把任意的Java代码插入到其中 (<% Java Code %>)

代码语言:javascript
复制
<%      int i;
        String color1="99ccff";
        String color2="88cc33";
        for(i=1;i<=count;i++){
            String color="";
            if(i%2==0)color=color1;
            else color=color2;
        out.println("<tr bgcolor="+color+"><td>---</td></tr>");
        }%>

Scriptlet 与 普通静态网页融合

代码语言:javascript
复制
<%
    String usrname=request.getParameter("usr");
    String passwrod=request.getParameter("pasw");
    String type=request.getParameter("type");
    String cout=request.getParameter("count");
    int count=Integer.parseInt(cout);
    
    if(usrname.equals("adim")&&passwrod.equals("12345"))
    {%>
        <h2>欢迎您!</h2><%=usrname%>
        <%if(type.equals("1")) out.print("管理员");
          else out.print("普通用户");
          count+=1;%>
          
    <%}else{%>
            
          <% count+=1; %>
          <jsp:forward page="Login.jsp"></jsp:forward>
    <%}%>

上述例子则可以说明:Scriptlet中的代码将被用到Servlet内,而Scriptlet前面和后面的静态HTML将被转化成println语句输出。

          这就意味着,Scriptlet内的Java语句并非一定是要完整的。

d)声明 定义插入SErvlet类的方法和成员变量 (<%! Java Code%>)

代码语言:javascript
复制
<%! private int accessCount=0; %>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JSP概述
  • JSP的工作原理
  • JSP基本语法
    •   JSP基本结构:
      •  a)注释
        •   b)表达式 用来把Java数据直接插入到浏览器页面输出 <%= Java Expression %>
          • c) Scriptlet 允许把任意的Java代码插入到其中 (<% Java Code %>)
            • d)声明 定义插入SErvlet类的方法和成员变量 (<%! Java Code%>)
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档