• J1_搭建Web环境,初识JSP


    搭建Web环境,初识JSP

    一、

    系统架构包含:C/S架构,B/S架构

    C/S架构:Client/Server,例如:QQ;特点:需要安装特定的客户端软件。

    B/S架构:Browser/Server,采用请求/响应模式进行交互,实际上还是一个C/S模式,只不过此C为固定浏览器。

    步骤:

    1. 用户输入
    2. 浏览器解析执行HTML文件
    3. 浏览器发送客户端的请求信息给服务器
    4. 应用服务器访问数据库服务器,在返回给应用服务器
    5. 应用服务器将从服务器端检索到的信息返回给浏览器

    URL:

    • 计算机通过统一资源定位符实现资源访问
      • URL: Uniform Resource Locator的缩写
      • 唯—能识别Internet上具体的计算机、目录或文件夹位置的命名约定

    Web服务器:

    • 是可以向发出请求的浏览器提供文档的程序

    • 提供网上的信息浏览器服务

    • 常用Web服务器:

      Microsoft:IIS

      Apache:Tomcat

      Oracle:WebLogic

      IBM:WebSphere

      Nginx

    Tomcat服务器:

    • 特点:

      Apache Jakarta的开源项目,

      轻量级应用服务器,

      开源、稳定、资源占用小

    • 目录结构:

    目录说明
    /bin存放各种平台下用于启动和停止Tomcat的脚本文件
    /conf存放Tomcat服务器的各种配置文件
    /lib存放Tomcat服务器所需的各种JAR文件(自己的jar包)
    /logs存放Tomcat的日志文件
    /tempTomcat运行时用于存放临时文件
    /webapps当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中
    /workTomcat把由JSP生成的Servlet放于此目录下
    • 配置Tomcat:

      • 默认端口号:8080

      • 通过配置文件server.xml修改Tomcat端口号

        
        
        • 1
        • 2
        • 3
        • 4
        • 5
    • 启动Tomcat

      • bin\startup.bat
      • 访问Tomcat主页:http://localhost:端口号
    • 停止Tomcat:bin\shutdown.bat

    Tomcat server.xml文件Connector参数说明

    maxThreads 客户请求最大线程数
    minSpareThreads Tomcat初始化时创建的socket 线程数
    maxSpareThreads Tomcat连接器的最大空闲socket 线程数
    enableLookups 若设为true, 则支持域名解析,可把ip 地址解析为主机名
    redirectPort 在需要基于安全通道的场合,把客户请求转发到基于SSL 的redirectPort 端口
    acceptAccount 监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads )
    connectionTimeout 连接超时
    minProcessors 服务器创建时的最小处理线程数
    maxProcessors 服务器同时最大处理线程数
    URIEncoding URL统一编码

    二、JSP
    JSP(Java Server Pages)概述:
    • 运行在服务器端的Java页面,使用HTML嵌套Java代码实现

    • 工作原理:

      1. Java代码嵌入JSP页面
      2. JSP页面编译执行给服务器端,数据交互
      3. 服务器端返回信息页面给客户端
    使用JSP实现输出:
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    
    • 1
    • charset:服务器发送给客户端时的内容编码
    • pageEncoding:JSP文件本身的编码
    
    HTML中标签,也是页面本身的编码,可用于静态页面
    
    • 1
    • 2
    <%@ %>等的使用:
    • < %@page% >用来设置一个JSP页面的属性以及导包

      导包:
      <%@ page import="java.util.Date"%> 
      
      • 1
      • 2
    • <%out.print();%>或<%out.println();%>实现页面输出

    • JSP可以添加的注释

      HTML注释:

      JSP注释:<%–JSP注释–%>

      JSP脚本中注释:<%//单行注释%> 、<%/* 多行注释 */%>

    • JSP中声明和使用变量:

      <%String title="谈北京精神";%>
      
      • 1
    • <%=%>实现页面输出:

      <%=title%>  //title后面不可以加分号
      
      • 1
    • 输出转义符:

      <%="谈\"北京精神\""%>  
      
      • 1
    • <%%>

      叫做脚本片段,写的内容会翻译在Servlet的Service方法中,所以我们可以在Service方法中定义局部变量或调用其他方法,但不可定义方法

    • <%! %>

      称作声明,其中写的内容直接翻译在Servlet类中,在类中我们可以定义方法和属性以及全局变量,所以在<%! %>中声明方法、属性、全局变量。

    JSP执行过程:

    强调JSP一次编译,重复请求时,不用重新编译。同时强调下动态的过程

    使用<%%>声明局部变量、使用<%!%>声明全局变量

    客户端发起请求调用一个 .jsp 界面,Tomcat找到调用的 .jsp 文件翻译成 .java 文件,再将java文件编译class文件,class再给服务器(JVM)输出。

    三、Web程序调试和排错

    常见错误

    • 404错误—找不到访问的页面或资源

      • 运行时,URL输入错误

      • 将页面放在WEB-INF下

      • 外部启动Tomcat,未部署项目

    • 500错误----JSP页面代码有误

      • JSP页面代码有错误
    • 页面无法显示:未启动Tomcat

    **自定义报错页面:**在web.xml中使用< error-page>标签,添加自定义的报错页面

    <error-page>
        <error-code>500error-code>  
        <location>/500.htmllocation>	
    error-page>
    <error-page>
        <error-code>404error-code>
        <location>/404.htmllocation>
    error-page>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    四、page指令

    page指令:通过属性定义了JSP的特性,实现与JSP容器的通信

    <%@ page language="属性值" import="属性值" contentType="属性值"%>
    
    • 1

    属性说明
    language指定JSP页面使用的脚本语言
    import通过该属性来引用脚本语言中使用到的类文件
    contentType用来指定页面的MIME类型,以及字符编码方式

    例:

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <%@ page import="java.util.List" %>
    <%@ page import="java.util.ArrayList" %>
    
    • 1
    • 2
    • 3
    • 4
    五、out对象

    out对象:

    • JSP的内置对象,无需实例化即可使用
    • 实现数据的输出显示

    out对象的方法:

    属性说明
    print向页面输出显示
    println向页面输出显示,在结尾处添加换行

    练习:

    
     
    	<%! public void add(){	 
     	} 
    	%>	
    	<%
    		add(); /* 调用方法 */
    		String name  ="张三";	/* 定义变量 */
    	%>
    	<%=name %> 
    	
    	
    	<%
    		List list = new ArrayList();
    		list.add("AAA");
    		list.add("BBB");
    		list.add("CCC");
    		for(int i=0; i
    	
  • <%=list.get(i)%>
  • <%};%>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
  • 相关阅读:
    【无标题】
    算法通关村第十四关:黄金挑战-数据流的中位数
    使用插值法公式组成数字电路进行计算的计算机
    js笔试题(6)
    Multi-Adapter RGBT Tracking代码学习(二)
    Redis Pipelining 底层原理分析及实践
    Itext生成pdf文件,html转pdf时中文一直显示不出来
    Required field ‘client_protocol‘ is unset 原因探究
    Python经典游戏04:用tkinter给老板写一封拒绝不了的辞职信
    基于高斯混合模型的视频背景提取和人员跟踪算法matlab仿真
  • 原文地址:https://blog.csdn.net/m0_70083523/article/details/126943184