JSP/Servlet Web 学习笔记 DayOne

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基本结构:

<%@ 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注释    在源码中显示

<!-- 网页注释内容 -->

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

<%-- 网页注释内容 --%>

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

<%= "Hello World" %>

  编译成Servlet后,就变成:

out.write(String.valueOf("Hello Word"));

  相当于JSP页面:

out.printlin("Hello World");

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

<%      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 与 普通静态网页融合

<%
    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%>)

<%! private int accessCount=0; %>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术墨客

Spring核心——Stereotype组件与Bean扫描

在注解自动装载中介绍了通过注解(Annotation)自动向Bean中注入其他Bean的方法,本篇将介绍通过注解(Annotation)向容器添加Bean的方法...

952
来自专栏技术小站

转:<mvc:annotation-driven/>的注解意义

<mvc:annotation-driven /> 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。<mvc:ann...

1653
来自专栏码匠的流水账

命令行一键切换java版本的几种方式

java现在版本发布相对以前比较频繁了,java9还没来得及用,java10就出来了,2018年9月份java11也要来了,于是就有需求在笔记本电脑上装多个版本...

2811
来自专栏一个会写诗的程序员的博客

第9章 Spring Boot开发者工具第9章 Spring Boot开发者工具

Spring Boot Maven Plugin,提供了使用Maven构建Spring Boot 工程的支持。我们可以用这个插件完成打包功能。支持打可执行jar...

2062
来自专栏史上最简单的Spring Cloud教程

SpringBoot非官方教程 | 第二十二篇: 创建含有多module的springboot工程

这篇文章主要介绍如何在springboot中如何创建含有多个module的工程,栗子中含有两个 module,一个作为libarary. 工程,另外一个是主工程...

2229
来自专栏IT技术精选文摘

Spring核心——Stereotype组件与Bean扫描

在注解自动装载中介绍了通过注解(Annotation)自动向Bean中注入其他Bean的方法,本篇将介绍通过注解(Annotation)向容器添加Bean的方法...

1414
来自专栏一个会写诗的程序员的博客

《Spring Boot极简教程》第4章 零XML配置的Spring Boot Application小结

Spring Boot 提供了一种统一的方式来管理应用的配置,允许开发人员使用属性properties文件、YAML 文件、环境变量和命令行参数来定义优先级不同...

822
来自专栏JavaEdge

SpringMVC的@ResponseBody注解说明

@ResponseBody 注解与 @RequestBody 注解类似。 @ResponseBody 注解可被应用于方法上,标志该方法的返回值将被直接写回到HT...

3165
来自专栏一个会写诗的程序员的博客

第4章 零XML配置的Spring Boot Application小结

Spring Boot 提供了一种统一的方式来管理应用的配置,允许开发人员使用属性properties文件、YAML 文件、环境变量和命令行参数来定义优先级不同...

1074
来自专栏Java修行之道

如何在SpringMVC中使用REST风格的url

2015

扫码关注云+社区

领取腾讯云代金券