jsp text边框_javaweb09-JSP

这篇博客详细介绍了JSP的基本概念和使用方法,包括Hello JSP、JSP页面元素、jsp include、jsp跳转、JSP cookie、JSP Session、JSP作用域、JSP隐式对象、JSTL和EL表达式。通过实例展示了如何在JSP中编写代码,如何进行页面跳转,如何处理cookie和session,以及如何使用EL表达式进行条件判断和数据处理。博客还涵盖了JSTL的常用标签,如set、out、forEach等,以及fmt:formatNumber和fmt:formatDate等格式化标签的使用。
摘要由CSDN通过智能技术生成

通过学习how2j上的知识记的笔记

JSP

通过Servlet进行整个网站的开发是可以的,不过在servlet中输出html代码,特别是复杂的html代码,会很繁琐。

如果能够直接使用html代码,并在html中写java代码就好了,JSP就可以实现这个功能。

一、Hello JSP

1、新建jsp文件

新建一个动态javaweb项目,命名为JSP,导入servlet-api.jar,然后在web-INF下新建一个NewFile.jsp,写进以下代码

<%@page contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

你好 JSP<br>
<%=new Date().toLocaleString() %>

</body>
</html>

然后运行这个动态项目,输入网址http://localhost:8080/JSP/NewFile.jsp,可以看到以下界面

0e7f44cd0654e69699c76fe3018fe10a.png

2、代码解释

<%@page contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8" import="java.util.*"%>

<%@page是JSP的指令

contentType="text/html;charset=UTF-8"就相当于response.setContentType("text/html;charset=UTF-8");也就是通知浏览器以UTF-8进行中文解码。

pageEncoding="UTF-8"是jsp的参数,表示如果jsp文件中出现了中文,那这些中文使用UTF-8进行编码。

import="java.util.*"表示jsp文件中调用的java代码需要依赖哪些包,如果需要多个包,中间要用逗号隔开。

<%=new Date().toLocaleString()%>输入当前时间,相当于在servlet中使用response.getWriter().println(new Date().toLocalString());

二、JSP页面元素

1、静态内容,也就是html、css、JavaScript等内容

2、指令<%@ %>,中间是内容,比如<%@page import="java.util.*"%>

3、表达式<%= %>,用于输出一段html

4、<% %>,中间可以写任何java代码

5、声明<%! %>,用来声明任何字段和方法,但不建议这么做。

6、动作<jsp:include page="Filename">,在jsp页面中包含另一个页面

7、注释<%-- --%>

8、<% %>和<%= %>间的关系

比如同样是在网页上输出hell jsp,两种方法的实现不同

<%out.println("hello jsp");%> <%="hello jsp"%>

9、for循环等一些语法练习

<%@page contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<%--注释:两种输出方式 --%>
<%="hello jsp" %><br>
<% out.println("hello jsp"); %><br>

<%
List<String> words = new ArrayList<String>();
words.add("today");
words.add("is");
words.add("a");
words.add("great");
words.add("day");
%>

<%--for循环输出,只是在控制台上显示--%>
<%
for (String word:words){
	System.out.println(word);
}
%>

<%--for循环输出,网页上显示 --%>
<%for(String word:words){ %>
<%=word %>
<br>
<%} %>

<%--把words中的内容显示在一个表格中 --%>
<%--先定义表格边框属性 --%>
<table width="200px" align="center" border="1" cellspacing="0">
<%for (String word:words){ %>
<tr>
	<td>
		<%=word %>
	</td>
</tr>
<%} %>
</table>


</body>
</html>

41d290ea7028cef43a9bed222a16adc3.png

三、jsp include

每个网页下面都有版权声明等信息,而且还很长,比如【Copyright © 2019 w3cschool.cn All Rights Reserved. 】,如果有一万个网页,都是使用的这个版权声明,那么在写每个网页的时候,都需要加上这句版权声明,一旦后续版权声明需要更改,一万个网页都挨个需要更改,维护成本很高。

但是,如果把版权声明弄成一个jsp,直接在网页中include这个jsp,那个只需要更改一次版权声明的jsp其他一万个网页中的内容就全部更改了。

1、建立版权声明的jsp 在动态web项目JSP的WebContent下新建footer.jsp,且写入版权声明代码

<hr>
<p style="text-align:center">copyright@2016
</p>

2、在NewFile.jsp中包含footer.jsp

<%@page contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<%--注释:两种输出方式 --%>
<%="hello jsp" %><br>
<% out.println("hello jsp"); %><br>

<%
List<String> words = new ArrayList<String>();
words.add("today");
words.add("is");
words.add("a");
words.add("great");
words.add("day");
%>

<%--for循环输出,只是在控制台上显示--%>
<%
for (String word:words){
	System.out.println(word);
}
%>

<%--for循环输出,网页上显示 --%>
<%for(String word:words){ %>
<%=word %>
<br>
<%} %>

<%--把words中的内容显示在一个表格中 --%>
<%--先定义表格边框属性 --%>
<table width="200px" align="center" border="1" cellspacing="0">
<%for (String word:words){ %>
<tr>
	<td>
		<%=word %>
	</td>
</tr>
<%} %>
</table>

<%@include file="footer.jsp" %>
<jsp:include page="footer.jsp"/>


</body>
</html>

运行项目输入网址http://localhost:8080/JSP/NewFile.jsp,可以看到如下图

9d46698b606bbead8f1a59e109a32902.png

在程序中可以看到,include有两种方式,分别是指令方式和动作方式

<%@include file="footer.jsp" %> <jsp:include page="footer.jsp"/>

3、指令方式和动作方式区别

jsp执行过程中会转换成*_jsp.java文件

指令方式会把footer.jsp的内容插入到NewFile.jsp中,最后只形成一个NewFile_jsp.java文件

动作方式会形成两个单独的.java文件NewFile_jsp.java和footer_jsp.java,NewFile_jsp.java会在服务器端访问footer_jsp.java,然后把返回的结果嵌入到响应中

4、传参问题

指令方式不存在传参问题,因为最后合并为了一个文件

但是动作方式存在一个访问的步骤,就涉及到了传参问题,

在NewFile的代码中修改一下

<%@page contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%="hello jsp" %><br>
<% out.println("hello jsp"); %><br>
<%
List<String> words = new ArrayList<String>();
words.add("today");
words.add("is");
words.add("a");
words.add(&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值