栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

javaweb 06 jsp技术

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javaweb 06 jsp技术

在Eclipse中,创建一个名称为chapter06的Web项目。

编写第一个JSP文件
右键单击WebContent目录→[new]→[Other],在弹出的窗口中找到JSP文件。

选择jSP文件后点击next按钮 创建一个文件名为为helloWorld后,
在里面输入一下代码<% response.getWriter().print("hello jsp "); %>
启动Tomcat并在浏览器访问HelloWorld.jsp文件

从上图中可以看出,HelloWorld.jsp中添加的内容已被显示出来,这说明了HTML中的元素可以被JSP容器所解析。JSP只是在原有的HTML文件中加入了一些具有Java特点
的代码,这些代码具有其独有的特点,称为JSP的语法元素。
JSP基本语法

1. JSP scriptlets

用于当需要使用Java实现一些复杂操作或控制时,
JSP scriptlets 的语法格式:
<% java代码(变量、方法、表达式等)%>

2.JSP声明语句

JSP的声明语句用于声明变量和方法,它以“<%!”开始,以“%>”结束,其语法格式:

<%!
定义的变量或方法等
%>
在chaptero6项目的WebContent目录下创建一个名称为example01.jsp的文件,在该文件中编写声明语句如下代码

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>




Insert title here

	<%!
		int a=1 ,b=3;
	%>
	<%!
		public String print(){
			String str = "bule";
			return str;
	}
	%>

	<%
		out.println(a+b);
	%>
	
<% out.println(print()); %>

启动服务器运行效果如图

在chapterO6项目的WebContent目录下创建一个名称为example02的JSP页面如下代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="utf-8"%>




Insert title here


	
	<%--这是一个JSP注释 --%>


启动Tomcat并在浏览器访问example02.jsp文件,在浏览器中页面会什么也不显示 这时打开页面中点击右键 在弹出菜单中选择查看源文件选项

JSP指令

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

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>




Insert title here


	<%
		out.println(new java.util.Date().toLocaleString());
	%>


<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>



欢迎你


	欢迎你bule,现在的时间是:
	<%@
		include file="date.jsp"
	%>


启动服务器运行效果如图

在chapterO6项目的WebContent目录下创建一个名称为out.jsp页面

<%@ page language="java" contentType="text/html; charset=utf-8"
 buffer="0kb"%>



Insert title here


	<%
		out.println("first line
"); response.getWriter().println("sercond line
"); %>

启动服务器运行效果如图

在chapterO6项目的WebContent目录下创建一个名称为pageContext.jsp页面
输入以下代码`
<%@ page language=“java” contentType=“text/html; charset=utf-8”%>

Insert title here <% HttpServletRequest req=(HttpServletRequest)pageContext.getRequest();
	pageContext.setAttribute("req11","pageContext",pageContext.PAGE_SCOPE);
	pageContext.setAttribute("req22","dashuju",pageContext.REQUEST_SCOPE);
	pageContext.setAttribute("req33","session",pageContext.SESSION_SCOPE);
	pageContext.setAttribute("req","application",pageContext.APPLICATION_SCOPE);
	%>
	<%=pageContext.findAttribute("req") %>
	
<%=(String)req.getAttribute("req22") %>
`

启动Tomcat并在浏览器访问pageContext.jsp文件 运行结果如图

在chapterO6项目的WebContent目录下创建一个名称为exception.jsp的页面,在其中编发生异常的代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" errorPage="error.jsp"%>




exception object test


	<%
		int a=3;
		int b=0;
	%>
	输出:<%=a/b %>


在WebContent目录下创建一个名称为error.jsp的页面,在其中获取从exception.jsp页面中传递过来的exception对象。在其page指令中要将 isErrorPage属性设置为true

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isErrorPage="true"%>




Insert title here


	<%= exception.getMessage() %>

运行效果为

JSP动作元素
(1)在chapterO6项目的WebContent目录下编写两个JSP文件,分别是included.jsp和dinclude.jsp。其中,dinclude.jsp 页面用于引入 included.jsp 页面。included.jsp作为被引入的文件,让它暂停5秒钟后才输出内容,这样,可以方便测试jsp:include标签的flush属性。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	<%Thread.sleep(500); %>
	included.jsp内的中文
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	dynameiclnclude.jsp页面用来包含其他页面
	


编写一个用于实现转发功能的 jspforward.jsp页面和一个用于显示当前时间的welcome.jsp页面
代码如下`<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>

Insert title here 转发到其他页面: `
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	转发到其他页面:
	


启动Tomcat访问jspforward.jsp文件

阶段案例:传智书城JSP页面

将第1章中传智书城案例中的client文件夹复制到WebContent目录下,并将client文件夹下的所有.html文件改为.jsp文件

在chapter06项目的WebContent目录下创建一个名称为index.jsp的页面文件,该文件使
jsp:forword>动作元素跳转到项目客户端展示的首页,其主要代码如下


如果此时运行项目,并访问“http://localhost:8080/chapter06/client/index.jsp”,会发现页面中的中文都是乱码。需要将每一个JSP文件中都加上page指令即可

新用户注册

此时当点击“新用户注册”链接后,所访问的链接路径是/chapternfregister.jsp,而项目中注册页面的真实路径是/chapter06/client/register.jsp,所以出现了“404错误。要解决此问题,只需在index.jsp页面文件中的链接和图片等路径前,加 入“${pageContext.request.contextPath}/client/”

新用户注册

(1)在client文件夹下创建一个名称为head.jsp的文件,将传智书城 index.jsp中顶部的代码抽取出到head.jsp中。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

(2)在client文件夹下创建一个名称为menu_search.jsp的文件,将传智书城index.jsp中菜单列表中的代码抽取出到menu_search.jsp中。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

Search
javaweb 06 jsp技术

(3)在client文件夹下创建一个名称为foot.jsp的文件,将传智书城 index.jsp中底部的代码抽取出到foot.jsp中。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
ConTACT US
COPYRIGHT 2015 © BookStore All Rights RESERVED.

(4)使用include指令将抽取出的3个JSP页面包含在index.jsp中

		
		<%@ include file="head.jsp"%>
		
	
	<%@ include file="menu_search.jsp"%>
	
		
<%@ include file="foot.jsp"%>

启动Tomcat 服务器,在浏览器地址栏中输入地址“http://localhost:8080/chapter06/index.jsp”


在修改index.jsp页面代码时,已将页面顶部、菜单列表和底部的代码抽取到了单独的jsp页面,并使用include指令包含了这些公共页面。这种方式在传智书城注册页面中也同样适用

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>



用户注册




	

	
	

Search
javaweb 06 jsp技术

新会员注册

会员邮箱: 请输入有效的邮箱地址
会员名: 字母数字下划线1到10位, 不能是数字开头
密码: 密码请设置6-16位字符
重复密码:  
性别:    男          
联系电话:  
个人介绍:  
<%@include file="foot.jsp" %>

启动Tomcat服务器,进入首页后,点击页面右上角的“新用户注册”链接进入用户注册页面

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/572094.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号