up:: web开发基础内容概述
在没有JSP的时候,Servlet只能通过request.getWriter().println("");把后台的信息添加到响应中去;自然可以在其中各种拼凑html语句和Java语句;;;
但是,上述过程十分麻烦,容易出错;
而一般网页内容习惯使用html文件,但是单纯的html页面,无法很好的和后台进行交互;~~~~~( _ _ 这儿有时间,好好叙述下__ )
所以JSP应运而生,在JSP中,可以将html和Java代码混在一起啦;
上面的话有问题,后续需要修改!!!!!
1:Servlet的痛点:
面对servlet的缺点,JSP应运而生;
2:JSP简介:
3:第一个JSP示例:
4:JSP执行流程:
Tomcat按照一定的规则将JSP的语法转换成了Servlet的源代码:
上面,Java代码会原封不动,其他诸如<h1>,<%=a%>则按语法转成对应的Java语句;
JSP的本质就是Servlet。(而且,目前JSP已经被抛弃了。。。。)
5:JSP基本语法:
(1).JSP代码块: <% %>
<% %>里面的Java代码需要增加分号;如<% String a = “ew”; %>
(2).JSP声明构造块 <%! %>
(3).JSP输出指令 <%= %>
<%= %>标签内是不需要添加分号的;<%= this.getName() %>就行了。
(4).JSP处理指令 <%@ %>
写在页面顶部!
JSP常用的指令有:
JSP注释:
6:JSP案例
prime.jsp:代码如下:
(1) contentType=“text/html;charset=utf-8”:设置编码方式,可以显示中文;
<%@ page import="java.util.*,java.text.*" contentType="text/html;charset=utf-8"%>
<%
for(int i=2;i<=1000;i++){
boolean flag = isPrime(i);
if(flag){
primes.add(i);
}
}
%>
<%!
List<Integer> primes = new ArrayList<Integer>();
boolean isPrime(int num){
boolean flag = true;
for(int j = 2;j<num;j++){
if(num%j==0){
flag = false;
break;
}
}
return flag;
}
%>
<%
for(int p:primes){
//out.println("<h1>"+p+"是质数。</h1>");
%>
<h1><%=p %>是质数</h1>
<%
}
%>
7:JSP页面重用
如下示例:
news.jsp:
<%@ page contentType="text/html;charset=utf-8" %>
<%@ include file="include/header.jsp" %> <%-- 引入页头的JSP--%>
<%-- 演示页面重用--%>
<%
out.println("<h1>新闻标题</h1>");
out.println("<p>新闻正文</p>");
%>
<%@ include file="include/footer.jsp" %> <%-- 引入页脚的JSP--%>
header.jsp:
<%@ page contentType="text/html;charset=utf-8" %>
要闻|推荐|财经|娱乐 <hr/> <%-- 模拟的页头--%>
footer.jsp:
<%@ page contentType="text/html;charset=utf-8" %>
<hr/>
copyright 1999-2021 <%-- 模拟的页脚--%>
include指令背后做了什么?
注解:本篇博客的代码放在了:firstJsp这个远程仓库中了;多看例子,主要是整体把握,细节没必要硬记忆;