JSP入门

62 篇文章 3 订阅

Servlet的缺点

静态HTML与动态Java代码混合在一起,难以维护

Servlet利用out.println()语句输出,开发效率低下

Eclipse很难在开发过程中发现错误,调试困难

JSP介绍

JSP(Java Server Page),Java服务器页面

JSP是J2EE的功能模块,由Web服务器执行

JSP的作用就是降低动态网页开发难度

JSP的特点

JSP使用简单,短时间学习便可上手使用

JSP可将Java代码与HTML分离,降低开发难度

JSP的本质就是Servlet

JSP的运行要求

可正常运行的Tomcat

所有JSP页面扩展名必须是.jsp

JSP页面应放在Web应用程序目录下

写一个JSP页面

案例描述:

新入职员工:基本工资1500元

工作5年内员工:每年工资上浮基本工资的10%

工作5-10年内员工:每年工资上浮基本工资的20%

工作10年以上:每年工资上浮基本工资的25%

要求列出工资试算表。

salary.jsp

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<table>
		<tr>
			<th>year</th>
			<th>salary</th>
		</tr>
		<% 
			for(int i=0;i<=50;i++){
				out.println("<tr>");
				out.println("<td>"+i+"</td>");
				double sal=0;
				if(i<=5)
					sal=1500+i*1500*0.1;
				else if(i>5&&i<=10)
					sal=1500+5*1500*0.1+1500*0.2*(i-5);
				else if(i>=10)
					sal=1500+5*1500*0.1+1500*0.2*5+1500*0.25*(i-10);
				out.println("<td>"+sal+"</td>");
				out.println("</tr>");
			}
		%>
		<tr>
			<td>0</td>
			<td>1500</td>
		</tr>
		<tr>
			<td>1</td>
			<td>1650</td>
		</tr>
		<tr>
			<td>2</td>
			<td>1800</td>
		</tr>
	</table>
</body>
</html>

JSP执行过程

多一个转译的过程将JSP转为servlet,JSP的本质就是Servlet

在这里插入图片描述

JSP基本语法

  • JSP代码块
  • JSP声明构造块
  • JSP输出指令
  • JSP处理指令

JSP代码块

用于在JSP中嵌入Java代码

语法:<%java代码%>

例如:<%System.out.println(“Hello World!”);%>

JSP声明构造块

用于声明变量或方法

语法:<%!声明语句%>

例如:<%!public int add(int a,int b){return a+b;}%>

JSP输出指令

用于在JSP页面中显示java代码执行结果

语法:<%=java代码%>

例如:<%=“<b>”+name+“</b>”%>

JSP处理指令

用于提供JSP执行过程中的辅助信息

语法:<%@jsp指令%>

例如:<%@page import="java.util."%> 在当前页面导入java.util.

<%@page%> 定义当前JSP页面全局设置

<%@include%> 将其他JSP页面与当前JSP页面合并

<%@taglib%> 引入JSP标签库

JSP中注释的区别

<%–注释%> JSP注释,被注释语句不做任何处理

//、/*…*/ 用于注释<%%>java代码,被注释代码不执行

<!–html–>HTML注释,被注释的语句不会被浏览器解释

使用JSP语法小练习:输入2-1000的质数

<%@page import="java.util.*,java.text.*" contentType="text/html;charset=utf-8" %>
<%!
boolean isPrime(int num){
	boolean flag=true;
	for(int j=2;j<num;j++){
		if(num%j==0){
			flag=false;
			break;
		}
	}
	return flag;
}
%>
<%
List<Integer> primes = new ArrayList();
for(int i =2;i<=1000;i++){
	boolean flag=isPrime(i);
	if(flag==true){
		primes.add(i);
	}
}
%>
<%
for(int p:primes){
	//out.println("<h1>"+p+"是质数</h1>");
%>
<h1 style="color:blue;"><%=p %>是质数</h1>	
<%
}
%>

JSP页面重用

将页头和页脚拆分出来单独引用

在include文件夹下存放heater.jsp和footer.jsp

include/header.jsp

<%@page contentType="text/html;charset=utf-8" %>
要闻|推荐|财经|娱乐

include/footer.jsp

<%@page contentType="text/html;charset=utf-8" %>
Copyright 1999-2021

news.jsp

<%@page contentType="text/html;charset=utf-8" %>
<%@include file="include/header.jsp" %>
<%
	out.println("<h1>新闻标题</h1>");
	out.println("<p>新闻正文</p>");
%>
<hr/>
<%@include file="include/footer.jsp" %>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摘星喵Pro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值