Java教程

Javaweb

本文主要是介绍Javaweb,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JAVA WEB JSP技术

JSP技术
在动态网页开发中,经常需要动态生成HTML内容。为了克服Servlet的这些缺点,Oracle公司推出了JSP技术
JSP技术全名是JAVA Server pages,它是建立在Servlet规范之上的动态网页开发技术。在JSP文件中,HTML代码是与JAVA代码共同存在,其中,HTML代码用来实现网页中静态内容的显示,Java代码用来实现网页中动态内容的显示。
JSP技术的特点:跨平台、业务代码相分离、组件重用、预编译。

一、JSP运行原理
JSP的工作模式是请求/响应模式,客户端首先发出HTTP请求,JSP程序收到请求后进行处理并返回处理结果。
当第一次访问jsp页面时,会向一个servlet容器(tomcat等)发出请求,servlet容器先要把 jsp页面转化为servlet代码(.java),再编译成.class 文件 再进行调用。当再次访问jsp页面时 跳过翻译和编译的过程 直接调用
二.JSP基本语法
JSP声明语句用于生命变量和方法,它以"<%!“开始,以”%>"结束,语法如下:

<%!
    定义的变量或方法
%>

在chapter06项目的WebContent目录下创建一个名称为example01.jsp的文件,代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<%!
	int a=1 , b=2;
%>
<%!
	public String print(){
		String str = "itcast";
		return str;
}
%>
<body>
	<%
		out.println(a+b);
	%>
	<br />
	<%
		out.println(print());
	%>
</body>
</html>

运行结果:
在这里插入图片描述
三.JSP注释
同其他各种编程语言一样,JSP也有自己的注释方式语法如下:

<%-- --%>

在chapter06项目的WebContent下创建名称为example02的JSP页面:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>jsp注释</title>
</head>
<body>
	<!-- 这是个HTML注释 -->
	<%-- 这是个JSP注释 --%>
</body>
</html>

四.JSP指令
page指令:在JSP页面中,经常需要对页面的某些特性进行描述:

<%@ page 属性名1 = "属性值1" 属性名2= " 属性值2 "......%>

include指令:在实际开发时,有时需要在JSP页面静态包含一个文件,例如HTML文件,文本文件等

<%@ include file="被包含的文件地址"%>

在chapter06项目的WebContent目录下创建两个JSP页面文件date.jsp和include.jsp,在include.jsp文件中使用include指令将date.jsp文件包含其中:
date.jsp:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
<% out.println(new java.util.Date().toLocaleString()); %>
</body>
</html>

include.jsp:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
	欢迎你建玮,现在的时间是:
	<%@  include file = "date.jsp" %>
</body>
</html>

运行结果:
在这里插入图片描述
5.JSP隐式对象

out对象:在JSP页面中,经常需要向客户端发送文本内容,这时需要使用out对象来实现;

在chapter06项目的WebContent目录下创建一个名称为out的JSP文件:
out.jsp:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
	<%
		out.println("first line<br />");
		response.getWriter().println("second line<br />");
	%>
</body>
</html>

运行结果:
在这里插入图片描述
pageContext对象:使用该对象可以访问其他8个隐式对象;

在chapter06项目的WebContent目录下创建一个名称为pageContext.jsp;
pageContext.jsp:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
	<%	
		//获取request对象
		HttpServletRequest req =(HttpServletRequest) pageContext.getRequest();
	
		//设置page范围内属性
		pageContext.setAttribute("str", "Java",pageContext.PAGE_SCOPE);
		
		//设置request 范围内属性
		req.setAttribute("str", "Java Web");
		
		//获取page范围属性
		String str1 = (String)pageContext.getAttribute("str",pageContext.PAGE_SCOPE);
		
		//获取的request 范围属性
		String str2 = (String)pageContext.getAttribute("str",pageContext.REQUEST_SCOPE);
	%>
	<%="paga范围:"+str1  %><br />
	<%="request范围: "+str2 %><br />
</body>
</html>

运行结果:
在这里插入图片描述

这篇关于Javaweb的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!