jsp基础、脚本元素的使用、乘法表、html输出表格内容、成绩判断

目录

Jsp构成与原理

JSP的特点:

servlet与jsp区别

servlet和jsp的各自的特点

jsp的脚本元素

列1:使用jsp实现九九乘法表

列2:servlet读取所有用户信息

列3:输入分数,判断分数所属等级


Jsp构成与原理

  • JSP:===Java Server Page(java服务器页面)是一种创建动态页面的技术.
  • 由静态和动态混合组成的动态页面(*.jsp)
  • 静态内容:  html,xml,text
  • 动态内容: java代码,javabean的属性
  • Jsp=html+java

JSP的特点:

  • 内容与展现逻辑分离.
  • 显示数据—视图

servlet与jsp区别

  • 1、Servlet在Java代码中可以通过HttpServletResponse对象动态输出HTML内容
  • 2、JSP是在静态HTML内容中嵌入Java代码,然后Java代码在被动态执行后生成HTML内容。

servlet和jsp各自的特点

1、Servlet很好的处理逻辑代码不善于显示数据。但是在Java源文件中,因为是通过字符串拼接的方式生成动态HTML内容,这样就容易导致代码维护困难、可读性差

2、JSP很好的显示数据。虽然规避了Servlet在生成HTML内容方面的劣势,但是在HTML中混入大量、复杂的业务逻辑。

jsp的脚本元素

三种类型:

   表达式 <%=%>    表达中不允许有分号,本质就是out.println();

   声明 <%! %>        作为servlet 的一个成员

   脚本 <%%>          嵌入java代码

列1:使用jsp实现九九乘法表

代码截图

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>0611作业</title>
</head>
<body>
	<form action="../jsp/multiplication.jsp">
		<input type="submit" value="作业1" /><br>编写一个JSP页面,输出九九乘法表
	</form>

</body>
</html>

multiplication.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>乘法表</title>
</head>
<body>
	<h1>乘法表</h1>
	<table border="0">
		<%
			for (int i = 1; i <= 9; i++) { //行
		%>
		<tr>
			<%
				for (int j = 1; j <= i; j++) { //列
			%>
			<td style="padding: 2px"><%=j%>✕<%=i%>=<%=i * j%></td>
			<%
				}
			%>
		</tr>
		<%
			}
		%>
	</table>
</body>
</html>

测试:

列2:servlet读取所有用户信息

写一个servlet读取所有用户信息放入一个List,然后转发到一个jsp,在jsp中使用jstl和el表达式将所有用户的信息通过表格显示出来

部分代码:

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>0611作业</title>
</head>
<body>
	
	<form action="../query.do">
		<input type="submit" value="作业2" /><br>写一个servlet读取所有用户信息放入一个List,然后转发到一个jsp,在jsp中使用jstl和el表达式将所有用户的信息通过表格显示出来
	</form>
</body>
</html>

queryAlluserservlet.java

public class QueryAllUser extends HttpServlet {
	private static final long serialVersionUID = 1L;
	UserService userService = new UserService();

//query.do	
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		UserService userService = new UserService();//客户端请求
		List<User> users = userService.getQueryAllUser();//查询用户信息
		request.setAttribute("users", users);//传递user对象
		PrintWriter printWriter = response.getWriter();
		//转发到jsp/queryalluser.jsp
		request.getRequestDispatcher("jsp/queryalluser.jsp").forward(request, response);
	}
}

queryalluser.jsp

注:jsp中要导入所用的包

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"
	import="java.util.*,com.user.service.UserService,com.user.po.User"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>0611第二题</title>
</head>
<body>
	<table border="1px">
		<%
			UserService userService = new UserService();
			List<User> users = (List<User>) request.getAttribute("users");
		%>
		<tr>
			<th>id</th>
			<th>用户名</th>
			<th>密码</th>
			<th>性别</th>
			<th>年龄</th>
			<th>电话</th>
			<th>爱好</th>
		</tr>
		<%
			for (User u : users) {
		%>
		<tr>
			<td><%=u.getId()%></td>
			<td><%=u.getName()%></td>
			<td><%=u.getPassword()%></td>
			<td><%=u.getSex()%></td>
			<td><%=u.getAge()%></td>
			<td><%=u.getTelphone()%></td>
			<td><%=u.getLove()%></td>
		</tr>
		<%
			}
		%>
		<tr></tr>
	</table>
</body>
</html>

结果

 

列3:输入分数,判断分数所属等级

利用jsp完成一个若用户成绩大于90时,显示A 大于80,B 大于70,C 大于等于60,D 其余所有情况不合格的判断 要求:成绩用url参数传递过来即可,例如:localhost:8080/xxx/index.jsp?age=65 之后页面显示成绩等第(A~不合格)

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>0611作业</title>
</head>
<body>
	
	<form action="homework3.html">
		<input type="submit" value="作业3" /><br>利用jstl标签完成一个若用户成绩大于90时,显示A
		大于80,B 大于70,C 大于等于60,D 其余所有情况不合格的判断
		要求:成绩用url参数传递过来即可,例如:localhost:8080/xxx/index.jsp?age=65
		之后页面显示成绩等第(A~不合格)
	</form>
</body>
</html>

homework3.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
  <form action="../homework3.do">
   <input type="text" name="num"/>
   <input type="submit" value="提交"/> 
  </form>
</body>
</html>

Servlet代码

public class ScoreServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	//homework3.do
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		try {
			String num = request.getParameter("num");//获取html中的值
			int a = Integer.valueOf(num);//讲取到的值转化成整形
			System.out.println("num------" + num);
			request.setAttribute("num", a);//传值到jsp

			response.setContentType("text/html;charset=utf-8");
			PrintWriter printWriter = response.getWriter();
			//重定向
			request.getRequestDispatcher("jsp/judeif.jsp").forward(request, response);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
}

judeif.jsp‘

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		int score = (int) request.getAttribute("num");
	%>
	<%
		if (score > 90) {
	%>
	<%="A优秀"%>
	<%
		} else if (score > 80) {
	%>
	<%="B良"%>
	<%
		} else if (score > 70) {
	%>
	<%="C好"%>
	<%
		} else if (score > 60) {
	%>
	<%="D一般"%>
	<%
		} else {
	%>
	<%="E不及格"%>
	<%
		}
	%>
</body>
</html>

’结果:

 

 

 

 

 

 

 

 

 

 

 

 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值