编写一个 JSP页面,使用 while循环语句计算出从1乘到20的积,并将结果输出。
时间: 2024-10-22 21:18:12 浏览: 17
在JSP页面中编写一个while循环来计算从1到20的累乘,首先需要创建一个变量存储当前的乘积,然后在循环体内部更新这个值并遍历。下面是一个简单的示例:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>累乘计算器</title>
</head>
<body>
<%
int product = 1; // 初始值设为1
int number = 1;
// 使用while循环,当number小于等于20时继续
while (number <= 20) {
product *= number;
number++; // 每次循环后增加数字
}
// 输出结果
out.println("1到20的累乘结果是: " + product);
%>
</body>
</html>
```
在这个例子中,我们使用了`out.println()`来在页面上显示结果。每当`number`递增时,我们将它的值乘以当前的`product`,然后更新`product`的值。
相关问题
请用jsp编写一个showbook.jsp页面,从数据库中读取图书信息,并展示
好的,我可以帮你解答这个问题。
首先,我们需要在数据库中创建一个book表,用于存储图书信息。表结构如下:
```sql
CREATE TABLE book (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
author VARCHAR(50) NOT NULL,
price FLOAT NOT NULL
);
```
接下来,我们需要编写showbook.jsp页面,用于从数据库中读取图书信息,并展示到页面上。代码如下:
```jsp
<%@ page import="java.sql.*" %>
<%
// 定义数据库连接信息
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "root";
// 加载数据库驱动
Class.forName(driver);
// 建立数据库连接
Connection conn = DriverManager.getConnection(url, username, password);
// 定义SQL语句
String sql = "SELECT * FROM book";
// 执行SQL查询
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
%>
<html>
<head>
<title>图书列表</title>
</head>
<body>
<h1>图书列表</h1>
<table border="1">
<tr>
<th>ID</th>
<th>书名</th>
<th>作者</th>
<th>价格</th>
</tr>
<%
while(rs.next()) {
%>
<tr>
<td><%= rs.getInt("id") %></td>
<td><%= rs.getString("name") %></td>
<td><%= rs.getString("author") %></td>
<td><%= rs.getFloat("price") %></td>
</tr>
<%
}
%>
</table>
<%
// 关闭数据库连接
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
```
在代码中,我们首先定义了数据库连接信息,然后加载数据库驱动,建立数据库连接。接着,定义了SQL语句,并执行SQL查询,获取到ResultSet对象。在页面中,我们通过while循环遍历ResultSet对象,将查询结果展示到页面上。最后,我们需要关闭ResultSet、Statement和Connection对象,释放数据库资源。
这样,我们就完成了用jsp从数据库中读取图书信息,并展示到页面上的功能。
使用jsp编写模糊查询
以下是使用JSP编写模糊查询的示例代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.Context" %>
<%@ page import="javax.naming.InitialContext" %>
<%@ page import="javax.naming.NamingException" %>
<%
String searchStr = request.getParameter("searchStr");
if (searchStr == null) {
searchStr = "";
}
Context context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/myDataSource");
Connection connection = dataSource.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM my_table WHERE name LIKE ?");
preparedStatement.setString(1, "%" + searchStr + "%");
ResultSet resultSet = preparedStatement.executeQuery();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>模糊查询</title>
</head>
<body>
<h1>模糊查询</h1>
<form action="" method="get">
<label for="searchStr">查询字符串:</label>
<input type="text" name="searchStr" value="<%= searchStr %>">
<button type="submit">查询</button>
</form>
<table>
<tr>
<th>ID</th>
<th>名称</th>
<th>数量</th>
<th>价格</th>
</tr>
<% while (resultSet.next()) { %>
<tr>
<td><%= resultSet.getInt("id") %></td>
<td><%= resultSet.getString("name") %></td>
<td><%= resultSet.getInt("quantity") %></td>
<td><%= resultSet.getDouble("price") %></td>
</tr>
<% } %>
</table>
<% resultSet.close(); %>
<% preparedStatement.close(); %>
<% connection.close(); %>
</body>
</html>
在这个示例中,我们首先从请求参数中获取查询字符串。如果请求参数为空,则将查询字符串设置为空字符串。
然后,我们使用JNDI查找数据源,并从数据源获取连接。接下来,我们准备一个包含一个占位符的预处理语句,该占位符表示查询字符串。我们使用setString方法将查询字符串设置为占位符的值,并执行查询。
在HTML部分,我们显示一个带有文本框和提交按钮的表单,用户可以在其中输入查询字符串。我们还显示一个用于显示查询结果的表格。在使用while循环遍历结果集时,我们使用JSP表达式来显示每个行的值。
最后,我们关闭结果集、预处理语句和连接。
阅读全文