用jsp实现。 写出如下问题代码 1) intput. jsp中包含一个表单,其中“体育爱好”为允许多项选择的 字段式选择栏控件,且“篮球”“乒乓球” 选项为默认选中; 2)单击input. jsp的“注册”按钮将表单提交给handle. jsp处理,接收各表单控件信息,在handle 页面中进行必要的中文乱码处理;同时判断如果用户没有输入呢称,. 跳转回input. jsp页面并提示用户信息“呢称不能为空,请重新输入!” 3)如果用户输入呢称合法,则接受并打印出所有注册信息,在该页面 中添加一一个超链接一-修 改昵称,点击超链接跳转到updateForm. jsp,并将现有昵称使用session存储,使得在其他页面也能够使用; 4)在updateForm. jsp页面中创建表单,接收并展示现有昵称; 5)单击updateFrom. jsp页面的“修改”按钮后,将表单提交给 output. jsp页面处理。在该页面中显示信息。
时间: 2024-02-18 18:04:41 浏览: 151
1) intput.jsp中包含一个表单,其中“体育爱好”为允许多项选择的字段式选择栏控件,且“篮球”“乒乓球”选项为默认选中:
```jsp
<!DOCTYPE html>
<html>
<head>
<title>注册页面</title>
</head>
<body>
<h1>用户注册</h1>
<form action="handle.jsp" method="post">
<label for="username">用户名:</label>
<input type="text" name="username" id="username"><br><br>
<label for="password">密码:</label>
<input type="password" name="password" id="password"><br><br>
<label for="email">邮箱:</label>
<input type="email" name="email" id="email"><br><br>
<label for="phone">手机号:</label>
<input type="text" name="phone" id="phone"><br><br>
<label for="hobby">体育爱好:</label>
<select name="hobby" id="hobby" multiple>
<option value="basketball" selected>篮球</option>
<option value="pingpong" selected>乒乓球</option>
<option value="football">足球</option>
<option value="tennis">网球</option>
</select><br><br>
<input type="submit" value="注册">
</form>
</body>
</html>
```
2)单击input.jsp的“注册”按钮将表单提交给handle.jsp处理,接收各表单控件信息,在handle页面中进行必要的中文乱码处理;同时判断如果用户没有输入呢称,跳转回input.jsp页面并提示用户信息“呢称不能为空,请重新输入!”
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>处理页面</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8"); //设置请求参数的编码格式为UTF-8
response.setContentType("text/html;charset=UTF-8"); //设置响应内容的编码格式为UTF-8
String username = request.getParameter("username"); //获取表单中的用户名
String password = request.getParameter("password"); //获取表单中的密码
String email = request.getParameter("email"); //获取表单中的邮箱
String phone = request.getParameter("phone"); //获取表单中的手机号
String[] hobby = request.getParameterValues("hobby"); //获取表单中的体育爱好
if(username == null || "".equals(username.trim())) { //判断用户名是否为空
out.print("<script>alert('呢称不能为空,请重新输入!');location.href='input.jsp';</script>"); //弹窗提示用户,跳转回input.jsp页面
return;
}
//打印出所有注册信息
out.print("<h1>用户注册信息</h1>");
out.print("<p>用户名:" + username + "</p>");
out.print("<p>密码:" + password + "</p>");
out.print("<p>邮箱:" + email + "</p>");
out.print("<p>手机号:" + phone + "</p>");
out.print("<p>体育爱好:");
if(hobby != null) {
for(String h : hobby) {
out.print(h + " ");
}
}
out.print("</p>");
//添加超链接-修改昵称,点击超链接跳转到updateForm.jsp
session.setAttribute("username", username); //使用session存储现有昵称,使得在其他页面也能够使用
out.print("<a href='updateForm.jsp'>修改昵称</a>");
%>
</body>
</html>
```
3)如果用户输入呢称合法,则接受并打印出所有注册信息,在该页面中添加一个超链接-修改昵称,点击超链接跳转到updateForm.jsp,并将现有昵称使用session存储,使得在其他页面也能够使用;
4)在updateForm.jsp页面中创建表单,接收并展示现有昵称;
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>修改昵称</title>
</head>
<body>
<h1>修改昵称</h1>
<form action="output.jsp" method="post">
<label for="username">现有昵称:</label>
<%
String username = (String)session.getAttribute("username"); //从session中获取现有昵称
out.print("<input type='text' name='username' id='username' value='" + username + "' readonly>"); //将现有昵称展示在表单中,并设置为只读
%><br><br>
<label for="newUsername">新昵称:</label>
<input type="text" name="newUsername" id="newUsername"><br><br>
<input type="submit" value="修改">
</form>
</body>
</html>
```
5)单击updateFrom.jsp页面的“修改”按钮后,将表单提交给output.jsp页面处理,在该页面中显示信息。
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>输出页面</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8"); //设置请求参数的编码格式为UTF-8
response.setContentType("text/html;charset=UTF-8"); //设置响应内容的编码格式为UTF-8
String newUsername = request.getParameter("newUsername"); //获取表单中的新昵称
//显示信息
out.print("<h1>修改昵称结果</h1>");
out.print("<p>现有昵称:" + session.getAttribute("username") + "</p>");
out.print("<p>新昵称:" + newUsername + "</p>");
session.setAttribute("username", newUsername); //将新昵称存储在session中,更新现有昵称
%>
</body>
</html>
```
阅读全文