[学习笔记] JSP/Servlet技术之动态网页基础

# 学习 # · 2020-09-06

动态网页基础

1、什么是动态网页:指在服务器端运行的使用程序语言设计的交互式网页,他们会根据某种条件的变化返回不同的网页内容。动态网页需要使用服务器端脚本语言。

2、C/S架构:用户在本地安装客户端软件,通过网络与服务器端相互通信。C/S架构实现客户端升级较为繁琐,安装多个客户端软件消耗系统资源。

3、B/S架构:应用系统完全放在应用服务器上,并通过应用服务器同数据库服务器进行通信,系统界面通过浏览器展现。

4、URL:协议(http或https)+服务器域名/IP+[端口号]+资源路径。


部署简单的Web应用

1、Tomcat服务器:Apache基金会的项目,是JSP的容器。

2、Tomcat的安装:http://tomcat.apache.org/

3、Tomcat的目录结构:

(1)/bin:存放各种平台下用于启动和停止Tomcat的脚本文件。

(2)/conf:存放Tomcat服务器的各种配置文件。

(3)/lib:存放Tomcat服务器所需的各种JAR文件。

(4)/logs:存放Tomcat的日志文件。

(5)/temp:Tomcat运行时用于存放临时文件。

(6)/webapps:Web应用的发布目录。

(7)/work:Tomcat把JSP生成的Servlet存放于此目录下。

4、Web应用的目录结构:

(1)/:Web应用的根目录,该目录下的所有文件对客户端都可以访问,包括jsp、html、js、css、图片等。

(2)/WEB-INF:存放应用程序所使用的各种资源,该目录及其子目录对客户端都是不可以访问的,其中包括web.xml(部署描述符)。

(3)/WEB-INF/classes:存放应用的所有class文件。

(4)/WEB-INF/lib:存放Web应用使用的JAR文件。

5、创建、部署和发布项目:

(1)遵循web应用目录的结构,在Tomcat目录的webapps子目录下创建应用文件目录。

(2)在应用目录下创建应用页面

(3)启动Tomcat服务,在浏览器中进行访问。

6、web.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>项目名</display-name>
<welcome-file-list>
<welcome-file>欢迎页面</welcome-file>
<welcome-file>欢迎页面</welcome-file>
</welcome-file-list>
</web-app>

JSP

1、JSP(Java Server Pages)简介:在B/S架构中,浏览器端与服务器端采用请求/响应模式进行交互。实现动态网页的关键在于运行在应用服务器端的服务器端脚本语言,可以根据客户端的不同请求生成相应的HTML页面,然后应用服务器再把这个HTML页面返回给客户端的浏览器作为响应。它在动态网页开发中有着强大而特殊的功能,并具有跨平台性、易维护性、易管理性等优点。

2、JSP页面的组成:静态内容、指令、表达式、小脚本、声明、标准动作、注释等元素构成。

<%@ page language="java" import="java.util.*,java.text.*"
    contentType="text/html; charset=UTF-8" %>
<html>
    <head>
        <title>输出当前日期</title>
    </head>
    <!-- 这是HTML注释(客户端可以看到源代码)-->
    <%-- 这是JSP注释 (客户端不可以看到源代码) --%>
    <body>
    你好,今天是
    <%
        //使用预定格式将日期转换为字符串
        SimpleDateFormat formater = new SimpleDateFormat("yyyy年MM月dd日");
        String strCurrentTime = formater.format(new Date());
    %>
    <%= strCurrentTime %>
    <%! String declare = "this is declartion"; %>
    <%= declare %>
    </body>
</html>

3、静态内容:JSP页面中的静态文本,其基本是HTML文本、指令、小脚本、表达式、声明、注释。

4、JSP指令元素:

(1)作用:通过设置指令中的属性,在JSP运行时控制页面的某些特性。

(2)基本语法:一般以<%@开头,以%>结束。

    //基本语法
    <%@ page language="java" %>

(3)page指令:是针对当前页面进行设置的一种指令,通过位于JSP页面的顶端,在一个JSP页面中可以包含多个page指令。page指令只对当前JSP页面有效。

(4)page指令的基本语法:

    //基本语法
    <%@ page 属性1="属性值"  属性2="属性值1,属性值2" ...... 属性n="属性值" %>;

(5)page指令的常用属性:

    language    //指定JSP页面使用的脚本语言,默认为"java"。
    <%@ page language="java" %>

    import        //通过该属性引用脚本语言中使用到的类文件。
    <%@ page import="java.util.*,java.text.*" %>

    contentType    //用于指定MIME类型和JSP页面回应时所采用的字符编码方式,默认"text/html;charset=ISO-8859-1"。
    <%@ page contentType="text/html;charset=UTF-8" %>

5、JSP脚本元素:

(1)作用:在JSP页面中,将小脚本、表达式、声明统称为JSP脚本元素,用于在JSP页面中嵌入Java代码,实现页面的动态处理。

(2)小脚本:小脚本可以包含任意的Java片段,形式比较灵活,通过在JSP页面中编写小脚本可以执行复杂的操作和业务处理。编写方法是将Java程序片段插入<% %>标记中。

    //基本语法
    <% Java代码 %>
    //实例
    <%@ page language="java" contentType="text/html; charset= UTF-8" %>
    <html>
    <head>
        <title>输出数组中的元素</title>
    </head>
    <body>
    <%
        int[] value = { 60, 70, 80 };
        for (int i : value) {
            out.print(i);
    %>
            <br>
    <%
        }
    %>
    </body>
    </html>

(3)表达式:是对数据的表示,系统将其作为一个值计算和显示。在JSP中使用表达式输出数据时,不能在表达式结尾处添加分号。

    //基本语法
    <% =Java表达式 %>
    //实例
    <%@ page language="java" import="java.util.*,java.text.*"
        contentType="text/html; charset=UTF-8" %>
    <html>
        <head>
            <title>计算求和</title>
        </head>
        <body>
            <%
                int numA = 4, numB = 5 ;
                int result = numA + numB;
            %>
            数字 <%=numA %> 和 <%=numB %> 的求和结果为:<%=result %>
        </body>
    </html>

(4)JSP声明:

    //基本语法
    <%! 方法 %>

    //实例
    <%@ page language="java" import="java.util.*" 
    contentType="text/html; charset=UTF-8"%>
    <html>
        <head>
            <title>方法声明</title>
        </head>
        <body>
            <%!
                String formatDate(Date d){
                    java.text.SimpleDateFormat formater =
                        new java.text.SimpleDateFormat("yyyy年MM月dd日");
                    return formater.format(d);
                }
            %>
            第一次调用:今天是<%=formatDate(new Date())%>
            <br>
            第二次调用:今天是<%=formatDate(new Date())%>
        </body>
    </html>

(5)JSP中的注释:

    <% //单行注释 %>
    <% /*多行注释*/ %>

6、JSP的执行过程:

(1)翻译阶段:当web容器接收到JSP请求时,首先会对JSP文件进行翻译,将编写号的JSP文件通过JSP容器转化成可识别的Java源代码。

(2)编译阶段:经过翻译后的JSP文件相当于编写号的Java源文件,此时仅有Java源文件是不够的,必须将Java源文件编译成可执行的字节码文件。

(3)执行阶段:经过翻译和编译连个阶段,生成了可执行的二进制字节码文件,此时进入执行阶段,当执行结束后,把生成的结果页面返回客户端浏览器显示。


使用集成开发工具创建Web项目

1、步骤:创建Web项目、创建Web项目的目录结构、编写Web项目代码、部署Web项目、运行Web项目。

2、常见问题:

(1)404错误:资源路径错误或找不到资源路径。

(2)500错误:代码错误。

(3)502错误:服务器访问错误。

(4)200代码:访问成功。

如无特殊说明,本博所有文章均为博主原创。

如若转载,请注明出处:一木林多 - https://www.l5v.cn/archives/99/

评论