JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP *** 作和命令来编写JSP。
JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
JSP 这门技术最大的特点在于,写 JSP就像在写 html ,但:它相比 html 而言,html 只能为用户提供静态数据,而 JSP 技术允许在页面中嵌套 java 代码,为用户提供动态数据。
jsp=html+css+javascript+java代码+jsp标签(servlet)
脚本可以编写java语句、变量、方法和表达式。
3.1普通脚本普通脚本可以使用所有java语句,除了定义方法。
<% Java语句 %>
例:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
out.println("hello!");
%>
</body>
</html>
脚本与脚本、脚本与HTML标签不可嵌套使用!!!
3.2声明脚本声明脚本用于声明一个或多个变量、方法,以供后面的 Java 代码使用。
<%! 声明语句 %>
例:
<%! int a=10;%>
<%! Object object=new Object();%>
<%! public void f(){
System.out.println("hello!");
}
%>
3.3输出脚本
<%= 表达式 %>
可以将 <%=表达式 %> 理解为 <% out.println(表达式) %> 的简写方式。
例:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%= new java.util.Date()%>
</body>
</html>
四、JSP注释
4.1HTML注释
通过浏览器查看网页源代码可以看到注释内容。
<!-- 注释内容 -->
4.2JSP注释
注释内容不会被发送至浏览器甚至不会被编译。
<%--注释内容--%>
五、JSP指令
5.1Page指令
定义网页依赖属性,比如脚本语言、error页面、缓存需求等等。
语法格式:
<%@ page attribute="value" %>
属性:
JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。
基本语法:
<%@ include file="文件相对 url 地址" %>
如果没有给文件关联一个路径,JSP编译器默认在当前路径下寻找。
5.3Taglib指令Taglib指令引入一个自定义标签集合的定义,包括库路径、自定义标签。
基本语法:
<%@ taglib uri="uri" prefix="prefixOfTag" %>
uri属性确定标签库的位置,prefix属性指定标签库的前缀。
六、JSP动作元素 6.1 jsp:include动作元素语法格式:
<jsp:include page="相对 URL 地址" flush="true" />
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<p>
今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
</p>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h2>include 动作实例</h2>
<jsp:include page="date.jsp" flush="true" />
</body>
</html>
6.2 jsp:useBean动作元素
基础语法:
<jsp:useBean id="name" class="package.class" />
6.3 jsp:setProperty动作元素
基础语法:
①
<jsp:useBean id="myName" ... />
...
<jsp:setProperty name="myName" property="someProperty" .../>
②
<jsp:useBean id="myName" ... >
...
<jsp:setProperty name="myName" property="someProperty" .../>
</jsp:useBean>
属性:
基本语法:
<jsp:useBean id="myName" ... />
...
<jsp:getProperty name="myName" property="someProperty" .../>
属性:
request 对象是 HttpServletRequest(接口)的实例。请求信息的内容包括请求的标题头(Header)信息(如浏览器的版本信息语言和编码方式等),请求的方式(如 HTTP 的 GET 方法、POST 方法等),请求的参数名称、参数值和客户端的主机名称等。
<%@ page contentType="text/html;charset=utf-8" %>
<html>
<head>
<title>
request对象获取客户信息
</title>
</head>
<body>
客户提交信息的方式:<%=request.getMethod() %> <br/>
使用的协议:<%=request.getProtocol() %> <br/>
获取提交数据的客户端IP地址:<%=request.getRemoteAddr() %> <br/>
获取服务器端的名称:<%=request.getServerName() %> <br/>
获取服务器端口号:<%=request.getServerPort() %> <br/>
获取客户端的机器名称:<%=request.getRemoteHost() %> <br/>
</body>
</html>
response
response 对象和 request 对象相对应,用于响应客户请求,向客户端输出信息。response 是 HttpServletResponse 的实例,封装了 JSP 产生的响应客户端请求的有关信息,如回应的 Header,回应本体(HTML 的内容)以及服务器端的状态码等信息,提供给客户端。请求的信 息可以是各种数据类型的,甚至是文件。
<%@ page contentType="text/html;charset=utf-8" %>
<html>
<head>
<title>
response 对象动态设置响应类型
</title>
</head>
<body>
<h2> response 对象动态设置响应类型 </h2>
<p>请选择将当前页面保存的类型
<form action=" " method="post" name=frm>
<input type="submit" value="保存为word" name="submit1">
<input type="submit" value="保存为Excel" name="submit2">
</form>
<%
if(request.getParameter("submit1")!=null)
response.setContentType("application/msword;charset=GB2312");
if(request.getParameter("submit2")!=null)
response.setContentType("application/x-msexcel;charset=GB2312");
%>
</body>
</html>
out
out 对象是一个输出流,用来向客户端输出数据,可以是各种数据类型的内容,同时,它还可以管理应用服务器上的输出缓冲区。
用来访问用户数据,记录客户的连接信息。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h2>用户登录</h2>
<form action="index.jsp">
用户名: <input type="text" name="username" /> <br> <br>
密码: <input type="text" name="pass" /> <br> <br>
<input type="submit" value="登录" />
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<%
String username = request.getParameter("username");
out.print("欢迎" + username + "登录");
session.setAttribute("sessname", username);
%>
<a href="success.jsp">跳转成功页面</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<%
String name = (String) session.getAttribute("sessname");
out.print("您好,您的用户名为:" + name);
%>
</body>
</html>
<%@ page contentType="text/html;charset=utf-8"%>
<html>
<head>
<title>application网页计数器</title>
<head>
<body>
<%
int n=0;
if(application.getAttribute("num")==null)
n=1;
else
{
String str=application.getAttribute("num").toString();
//getAttribute("num")返回的是Object类型
n=Integer.valueOf(str).intValue()+1;
}
application.setAttribute("num",n);
out.println("您好,您是第"+application.getAttribute("num")+"位访问客户!");
%>
</body>
</html>
config
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<%
String sname = config.getServletName();
String url = config.getInitParameter("url");
out.print("Servlet名称为:" + sname + "
"
);
out.print("初始化参数为:" + url + "
"
);
%>
</body>
</html>
pageContext
page
exception
八、cookie
Cookie 由服务器生成并发送给浏览器(客户端),浏览器会将其以文本文件的形式存储在某个目录下。
常用方法 创建)cookie cookie = new cookie(String name,String value);
ame 代表 cookie 的名称,value 表示该名称对应的值
写入)response.addcookie(cookie);
设置)
cookie.setMaxAge(60*60*24);
读取)
调用 request.getCookies() 方法读取 cookie,该方法返回 HTTP 请求中的 cookie 对象数组,需要通过遍历进行访问。
删除)获取 cookie
将要删除的 cookie 有效期设置为 0
调用 response.addCookie() 方法重新写入 cookie
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)