JSP入门(公司薪资制度,质数算法与JSP重用)

一、JSP

1、JSP介绍

  • JSP全称Java Server Pages,Java服务器页面,本质是Servlet
  • JSP是J2EE的功能模块,由Web服务器执行
  • JSP可以将java代码与HTML分离,降低动态网页开发难度

2、JSP的执行过程

JSP–>转译为:Servlet源代码–>编译为:Servlet字节码

3、JSP基本语法

(1)JSP代码块
  • JSP代码块用于在JSP中嵌入Java代码
  • JSP代码块语法:<% java代码块 %>
  • 例如:<%System.out.println("Hello World!") %>
(2)JSP声明构造块
  • JSP声明构造块用于声明变量或方法
  • JSP声明构造块语法:<% 声明语句 %>
  • 例如:<% public int add(int a,int b)(return a+b;) %>
(3)JSP输出指令
  • JSP输出指令用于JSP页面中显示java代码执行结果
  • JSP输出指令语法:<%=java代码 %>
  • 例如:<%="<b>" + name + "</b>" %>
(4)JSP处理指令
  • JSP处理指令用于提供JSP执行过程中的辅助信息
  • JSP处理指令语法:<%@jsp指令 %>
  • 例如:<%@page import="java.util.*" %>

常用处理指令

  • <%@page %>定义当前JSP页面全局设置
  • <%@include %>将其他JSP页面与当前JSP页面合并
  • <%@taglib %>引入JSP标签

二、公司薪资制度

新入职员工:基本工资1500元
工作5年内员工:每年工资上浮基本工资的10%
工作5-10年员工:每年工资上浮基本工资的20%
工作10年以上:每年工资上浮基本工资的25%
要求列出工资试算表。

1、html页面

工作量较大,且重复代码较多

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<table>
		<tr>
			<th>year</th>
			<th>salary</th>
		</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>
		<tr>
			<td>3</td>
			<td>1950</td>
		</tr>
		<tr>
			<td>4</td>
			<td>2100</td>
		</tr>
		<tr>
			<td>5</td>
			<td>2250</td>
		</tr>
		<tr>
			<td>6</td>
			<td>2550</td>
		</tr>
		<tr>
			<td>7</td>
			<td>2850</td>
		</tr>
		<tr>
			<td>8</td>
			<td>3150</td>
		</tr>
	</table>
</body>
</html>

2、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<=30;i++){
				out.println("<tr>");
				out.println("<td>" + i + "</td>");
				int sal=0;
				if(i<=5){
					sal = 1500 + 150*i;
				}else if(i>5 && i<=10){
					sal = 1500 + 150*5 + 300*(i-5);
				}else if(i>10){
					sal = 1500 + 150*5 + 300*5 + 375*(i-10);
				}
				out.println("<td>" + sal +"</td>");
				out.println("</tr>");
			}
		%>
	</table>
</body>
</html>

通过if,else-if判断语句实现

3、网页效果

三、质数算法

任务要求

  • 列出1000内的质数(除1以外,只能被1和自身整除)
  • 要求1:使用List保存所有有效的质数
  • 要求2:将结果打印到页面,格式为"<h3>X是质数</h3>"

1、prime.jsp页面

<%@page import="java.util.*" 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){
			//out.println("<h1>" + i + "</h1>");
			primes.add(i);
		}
	}
%>

<% 
	for(int p : primes){
		//out.println("<h1>" + p +"是质数</h1>");
%>

	<h3 style="color:green;"><%=p %>是质数</h3>
<%
	}
%>

注解:

  1. 质数:通过循环寻找只有能被自己整除的数
  2. <%@page import="java.util.*" contentType="text/html;charset=utf-8" %>
    导入包,实现数组的创建,让中文能够正常显示
  3. <%! boolean isPrime(int num){}
    声明判断质数的方法,为JSP构造块
  4. <%=p %>为JSP输出指令

2、网页输出效果

四、JSP页面重用

在新闻网页中有目录不需要更改的,我们可以采用JSP页面重用

1、代码相关

news.jsp页面

<%@page contentType="text/html;charset=utf-8"%>
<%@include file="include/header.jsp" %>
<% 
	out.println("<h1>新闻标题</h1>");
	out.println("<p>新闻正文</p>");
%>
<%@include file="include/footer.jsp" %>

header.jsp页面

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

footer.jsp页面

<%@page contentType="text/html;charset=utf-8"%>
<hr/>
CopyRight 1999-2022

video.jsp页面

<%@page contentType="text/html;charset=utf-8"%>
<%@include file="include/header.jsp" %>
<h1>视频</h1>
<%@include file="include/footer.jsp" %>

注解:

  1. <%@page contentType="text/html;charset=utf-8"%>
    让中文正常显示,page定义当前JSP页面全局设置
  2. <%@include file="include/header.jsp" %>
    <%@include file="include/footer.jsp" %>
    JSP重用,include将news.jsp与header.jsp、footer.jsp进行合并

2、网页效果

可以看到目录部分没变,只有正文部分进行了改变

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值