一、JSP简介
JSP:
JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
JSP的优势:
- 与纯Servlet相比:JSP可以很方便的编写或者修改HTML网页而不需要使用大量的println语句
- 与JavaScript相比:JavaScript虽然可以在客户端生成动态HTML,但是很难与服务器交互,因此不能提供较复杂的服务
- 与静态HTML相比:静态HTML不包含动态信息。
二、JSP语法教程
脚本程序:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
out.println("Your ID address is " + request.getRemoteAddr());
%>
</body>
</html>
结果如下:
JSP声明:
使用<%! %>声明
如:<%! int i = 0; %>
JSP表达式:
表达式的值会被转换为String,因此可以在文本行中直接使用表达式
如:<%= (new java.util.Data()).toLocaleString()%>
JSP指令:
<%@ page … %> : 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include … %> : 包含其他文件
<%@ taglib … %> : 引入标签库的定义,可以是自定义标签
三、HttpServletRequest类
使用HttpServletRequest类的getHeaderNames()方法来读取HTTP信息头
Enumeration getHeaderNames();
返回所有HTTP头的名称集合
<%@page import="java.util.Enumeration"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>获取请求头</title>
</head>
<body>
<p3>获取请求头</p3><br>
<br>
<table border="1px">
<%
Enumeration headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()){
String paramName = (String)headerNames.nextElement();
out.print("<tr><td>" + paramName + "<td>");
String paramValue = request.getHeader(paramName);
out.print("<td>" + paramValue +"</td></tr