5. 编写javaweb项目,至少包括3个JSP程序,input.jsp、ok.jsp、error.jsp。其中input.jsp页面有一个表单,用户使用该表单可以输入一个20以内的正整数,并提交给ok.jsp页面,进行计算,并显示结果,例如:输入5,就计算1!+2!+…+5!;如果输入不符合要求就转向error.jsp。要求forward标记在实现页面转向时,使用param子标记将整数传递到转向的ok.jsp页面,将有关输入错误传递到转向的error.jsp页面。
时间: 2023-05-20 22:05:20 浏览: 89
好的,这是一个关于编写javaweb项目的问题,我可以回答。首先,我们需要编写一个名为input.jsp的JSP页面,其中包含一个表单,用户可以输入一个20以内的正整数。表单需要使用POST方法提交到ok.jsp页面。在ok.jsp页面中,我们需要使用Java代码计算输入的数字的阶乘,并将结果显示在页面上。如果输入不符合要求,我们需要将用户重定向到error.jsp页面。在实现页面转向时,我们可以使用forward标记,并使用param子标记将整数传递到转向的ok.jsp页面,将有关输入错误传递到转向的error.jsp页面。具体的代码实现可以根据具体的需求进行编写。
相关问题
用JavaWeb根据以下描述编写程序用户在login.jsp页面输入姓名和年龄后,按下提交按钮转入manger_control.jsp,这个页面判断年龄是否大于18岁,如果大于18岁,跳转到welcome.jsp,显示如下内容:
要在JavaWeb中根据您的描述编写程序,首先我们需要创建三个JSP页面:login.jsp、manager_control.jsp 和 welcome.jsp。下面是一个简单的步骤指南:
1. **login.jsp**:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="manager_control.jsp" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="username"><br><br>
<label for="age">Age:</label>
<input type="number" id="age" name="age"><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
```
2. **manager_control.jsp**:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="javax.servlet.jsp.jstl.core.*, javax.servlet.jsp.tagext"%>
<!DOCTYPE html>
<%--
判断年龄并跳转
--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<c:if test="${param.age > 18}">
<jsp:forward page="welcome.jsp"/>
</c:if>
<c:else>
<h2>Sorry, you must be over 18 years old.</h2>
<jsp:redirect url="login.jsp?message=age_error"/>
</c:else>
</head>
<body>
<!-- 无需显示内容,因为已通过条件控制转向 -->
</body>
</html>
```
3. **welcome.jsp (假设欢迎信息保存在一个变量里,如`welcomeMessage`)**:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<% String welcomeMessage = "Welcome, " + param.username; %>
<p>${welcomeMessage}</p>
</body>
</html>
```
在这个例子中,如果用户的年龄大于18岁,他们会直接进入welcome.jsp页面;如果年龄小于或等于18岁,则会显示一条错误消息并返回login.jsp。
javaweb创建Maven项目,使用SpringBoot框架完成 编写index.jsp页面,在javascript中,使用ajax+get方式(ajax.js中的get方法),请求地址/get_menus,获取数据库所有菜品的数据,并动态展示到页面 , 选中要投票的菜品后,单击“提交投票”,使用ajax+post方式提交,请求地址/vote(ajax.js中的post方法),局部更新菜品的票数(票数增加1票)
好的,这里是一个简单的示例代码,供您参考:
index.jsp页面代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>菜品投票</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="/js/ajax.js"></script>
</head>
<body>
<h1>菜品投票</h1>
<div id="menuList"></div>
<button onclick="submitVote()">提交投票</button>
<script>
$(document).ready(function(){
getMenus();
});
function getMenus(){
$.ajax({
url: "/get_menus",
type: "GET",
success: function(data){
var menuList = $("#menuList");
menuList.empty();
for(var i=0; i<data.length; i++){
var menu = data[i];
var html = "<div><input type='checkbox' name='menu' value='" + menu.id + "'>" + menu.name + "</div>";
menuList.append(html);
}
},
error: function(jqXHR, textStatus, errorThrown){
alert("获取菜品数据失败!");
}
});
}
function submitVote(){
var selectedMenus = [];
$("input[name='menu']:checked").each(function(){
selectedMenus.push($(this).val());
});
if(selectedMenus.length > 0){
$.ajax({
url: "/vote",
type: "POST",
data: JSON.stringify(selectedMenus),
contentType: "application/json; charset=utf-8",
success: function(data){
alert("投票成功!");
getMenus();
},
error: function(jqXHR, textStatus, errorThrown){
alert("投票失败!");
}
});
}
else{
alert("请选择要投票的菜品!");
}
}
</script>
</body>
</html>
```
ajax.js代码:
```javascript
function get(url, successCallback, errorCallback){
$.ajax({
url: url,
type: "GET",
success: function(data){
successCallback(data);
},
error: function(jqXHR, textStatus, errorThrown){
errorCallback(jqXHR, textStatus, errorThrown);
}
});
}
function post(url, data, successCallback, errorCallback){
$.ajax({
url: url,
type: "POST",
data: data,
contentType: "application/json; charset=utf-8",
success: function(data){
successCallback(data);
},
error: function(jqXHR, textStatus, errorThrown){
errorCallback(jqXHR, textStatus, errorThrown);
}
});
}
```
后台Controller代码:
```java
@RestController
public class MenuController {
@Autowired
private MenuService menuService;
@GetMapping("/get_menus")
public List<Menu> getMenus(){
return menuService.getAllMenus();
}
@PostMapping("/vote")
public void vote(@RequestBody List<Long> menuIds){
menuService.vote(menuIds);
}
}
```
注意:这里的代码只是一个简单示例,具体的实现还需要按照您的具体需求进行调整。同时,还需要确保前端页面中引入了jquery.js和ajax.js文件,并且后台的MenuService中实现了相应的方法。
阅读全文