关于JSP

程序员成长之旅 · 程序员成长之旅/Java学习/笔记 · 1378 字

关于JSP

介绍

JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。

JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。

简介

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束

JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。

JSP 基于Java Servlet APIJB,JAXP等等。

什么是Java Servlet

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

Servlet 架构

Servlet任务
关于Tomcat

在市场上有许多 Web 应用服务器支持 Servlet。有些 Web 应用服务器是免费下载的,Tomcat 就是其中的一个。

Servlet生命周期
Servlet部署
  1. 创建一个继承于HttpServlet的类

  2. 
    

// Hello World

// 导入必需的 java 库

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

// 扩展 HttpServlet 类

public class HelloWorld extends HttpServlet {

private String message;

public void init() throws ServletException

{

// 执行必需的初始化

message = "Hello World";

}

public void doGet(HttpServletRequest request,

HttpServletResponse response)

throws ServletException, IOException

{

// 设置响应内容类型

response.setContentType("text/html");

// 实际的逻辑是在这里

PrintWriter out = response.getWriter();

out.println("`<h1>` " + message + "`</h1>` ");

}

public void destroy()

{

// 什么也不做

}

}


2. 编译该类文件, 获取到`.class`文件

3. 关于`.class`放在哪

1. 默认情况下,Servlet 应用程序位于路径 `<Tomcat-installation-directory>/webapps/ROOT `下,且类文件放在 `<Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes` 中。

2. 如果您有一个完全合格的类名称 **com.myorg.MyServlet**,那么这个 Servlet 类必须位于 `WEB-INF/classes/com/myorg/MyServlet.class` 中。

3. 既, 需要将该`.class`复制到`<Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes` 中

4. 在位于` <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/`的 **web.xml** 文件中创建以下条目

1. ```xml

<web-app>

<servlet>

<servlet-name>HelloWorld</servlet-name>

<servlet-class>HelloWorld</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>HelloWorld</servlet-name>

<url-pattern>/HelloWorld</url-pattern>

</servlet-mapping>

</web-app>
  1. 启动Tomcat服务器

  2. 到这里,您基本上已经完成了,现在让我们使用 <Tomcat-installation-directory>` \bin\startup.bat`(在 Windows 上)或 /bin/startup.sh(在 Linux/Solaris 等上)启动 tomcat 服务器

  3. 最后在浏览器的地址栏中输入 http://localhost:8080/HelloWorld。如果一切顺利,您会看到结果

Servlet表单数据

很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序。浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法。

Get方法

ET 方法向页面请求发送已编码的用户信息。页面和已编码的信息中间用 ? 字符分隔,如下所示:


http://www.test.com/hello?key1=value1&key2=value2

这些信息使用 QUERY_STRING 头传递,并可以通过 QUERY_STRING 环境变量访问,Servlet 使用doGet()方法处理这种类型的请求。

POST方法

POST 方法不是把信息作为 URL 中 ? 字符后的文本字符串进行发送,而是把这些信息作为一个单独的消息

消息以标准输出的形式传到后台程序,您可以解析和使用这些标准输出。Servlet 使用 doPost() 方法处理这种类型的请求。

使用Servlet读取表单数据

Servlet 处理表单数据,这些数据会根据不同的情况使用不同的方法自动解析:

HTML

``

为页面上的所有链接规定默认地址或默认目标

使用指定的基本 URL 来解析所有的相对 URL。这其中包括 `<a>` 、`<img>` 、`<link>` 、`<form>`  标签中的 URL。