JSP程序的运行原理,文档结构和简单的输入输出示例分析

电脑杂谈  发布时间:2020-07-12 15:14:33  来源:网络整理

jsp页面基本结构_jsp页面_jsp页面引入html页面

本文中的示例描述了JSP程序的操作原理,文档结构以及简单的输入和输出. 与您分享以供参考. 详细信息如下:

目标:

掌握Web应用程序的文档结构;

掌握JSP的操作原理;

掌握JSP的简单输入和输出.

主要内容:

通过一个简单的示例介绍Web应用程序的文档结构和操作原理;

通过简单的注册功能介绍基本的输入和输出.

实施: 客户端身份验证.

1,文档结构

每个应用程序都有一个根目录,例如ch2;从理论上讲,它可以放置在任何地方,但需要对其进行配置,方法简单jsp页面基本结构,直接放置在webapps目录中,此目录中的应用程序将自动加载.

在根目录下将有一个WEB-INF目录. 该目录中的文件无法远程访问,主要存储配置文件,类文件和资源文件.

WEB-INF中的配置文件是web.xml,每个Web应用程序都将具有这样的配置文件.

WEB-INF中有两个文件用于存储类文件和资源文件: lib和类. 在lib下,以压缩包jar的形式存储类库. 类直接存储类文件(包括包信息).

页面文件(包括jsp文件,html文件和图片文件)可以放在根目录(ch2)下,或放在以下子文件夹中(不能放在WEB-INF中).

2. 操作模式

访问方法: : 8080 / ch2 / ch2.jsp

先决条件: 将Web应用程序部署到服务器并启动服务器.

下面以ch2.jsp为例介绍访问过程:

1)客户端通过浏览器发送请求;

2)Web服务器收到此请求并将其传输到应用程序服务器;

3)假设访问的文件是ch2.jsp,应用程序服务器将找到客户端要访问的文件;有两种情况:

首次访问: 应用程序服务器将JSP文件转换为Java文件;然后将其编译为类文件;然后加载该类;实例化对象并将其初始化;

jsp页面_jsp页面引入html页面_jsp页面基本结构

后续访问: 该JSP文件对应的页面对象已经存在,可以直接找到该对象;

4)应用服务器封装请求信息,然后调用相应的方法;

5)应用服务器将方法执行结果(响应客户端的内容)传递到Web服务器;

6)Web服务器将该结果发送给客户端;

7)客户端浏览器将接收到的html代码解析为网页. 这就是我们所看到的.

以下是操作过程中几个文件的内容.

源文件Ch2.jsp的内容:

DDDDDDDDDDDDDDDDDDDDDDDDDD

<%=“ FFFFFFFFFFFFFFFF”“%>

转换后的文件ch2_jsp.java:

package org.apache.jsp;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
public final class ch2_jsp extends org.apache.jasper.runtime.HttpJspBase
  implements org.apache.jasper.runtime.JspSourceDependent {
 private static java.util.List _jspx_dependants;
 private javax.el.ExpressionFactory _el_expressionfactory;
 private org.apache.AnnotationProcessor _jsp_annotationprocessor;
 public Object getDependants() {
  return _jspx_dependants;
 }
 public void _jspInit() {
  _el_expressionfactory = JspFactory.getDefaultFactory().getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
  _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());
 }
 public void _jspDestroy() {
 }
 public void _jspService(HttpServletRequest request, HttpServletResponse response)
    throws java.io.IOException, ServletException {
  JspFactory _jspxFactory = null;
  PageContext pageContext = null;
  HttpSession session = null;
  ServletContext application = null;
  ServletConfig config = null;
  JspWriter out = null;
  Object page = this;
  JspWriter _jspx_out = null;
  PageContext _jspx_page_context = null;
  try {
   _jspxFactory = JspFactory.getDefaultFactory();
   response.setContentType("text/html");
   pageContext = _jspxFactory.getPageContext(this, request, response,
   null, true, 8192, true);
   _jspx_page_context = pageContext;
   application = pageContext.getServletContext();
   config = pageContext.getServletConfig();
   session = pageContext.getSession();
   out = pageContext.getOut();
   _jspx_out = out;
   out.write("DDDDDDDDDDDDDDDDDDDDDDDD/r/n");
   out.print("FFFFFFFFFFFFFFFF");
  } catch (Throwable t) {
   if (!(t instanceof SkipPageException)){
    out = _jspx_out;
    if (out != null && out.getBufferSize() != 0)
     try { out.clearBuffer(); } catch (java.io.IOException e) {}
    if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
   }
  } finally {
   if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
  }
 }
}

返回给客户端的信息(您可以通过浏览器的查看源文件功能查看它):

DDDDDDDDDDDDDDDDDDDDDDDDDD

FFFFFFFFFFFFFFFF

3. 无状态请求响应模式

用户通过客户端发送请求,并可以通过地址栏,超链接,按钮或表单元素请求事件. 无论用于发送请求的方法如何,请求信息都将封装到HttpServletRequest对象中. 服务器将使用此对象作为参数来调用页面对象. 执行此方法后,它将响应客户端jsp页面基本结构,然后将删除HttpServletRequest对象. 如果再次发送请求,将创建一个新的HttpServletRequest对象,并且上次访问的信息将不再存在.

因此服务器将不会保存客户端先前访问的信息,这称为无状态请求响应模式.

接下来介绍JSP技术的基本问题: 输入和输出. 首先看一下如何完成输入.

4. 输入元素

输入是通过表单元素完成的. 常见的表单元素如下:

1)表格

要提交信息,首先需要一个表单,并且只能提交表单中的信息.

开始徽标

jsp页面引入html页面_jsp页面_jsp页面基本结构

结束标记

主要属性:

action属性: 是要提交处理的目标文件的位置;

方法属性: 请求方法,获取和发布

注意: 表单不能嵌套.

2)单行文本框

基本语法格式:

<input type =“ text” value =“请输入用户名”>

type =“ text”表示这是一个单行文本框;

name代表文本框的名称,这非常重要,并且该值需要从服务器上的名称中获取;

value给出初始值.

3)密码框

基本语法格式:

<输入类型=“密码”>

用法基本上与单行文本框相同.

4)隐藏域

基本语法格式:

用于在多个页面之间传递值,用法与当前文本框基本相同.

5)单选按钮

语法格式:

男性

Ů

jsp页面基本结构_jsp页面引入html页面_jsp页面

一组单选按钮的名称应该相同,以确保仅选择多个选项之一.

注意: 单选按钮后显示的内容与单选按钮无关,只需告诉用户单选按钮的含义即可.

6)复选框

语法格式:

同一组复选框的值也应该是一致的,并且可以统一采用.

7)下拉列表

语法格式:

开始徽标:

8)多行文本字段

语法格式:


热点图片
拼命载入中...