设计一个用户注册的功能,要求如下: 1)注册页面应包含基本的文本框、单选按钮、复选框、选择栏等元素,具体要求除提交按钮、重置按钮外,页面至少包含三种其他html控件1)intput.jsp中包含一个表单 2)点击注册按钮时,要求对用户名(昵称)进行判空,如果用户未填写用户名(昵称),需要提示“请输入用户名!”; 3)若用户输入正确,请将注册信息展示在另外一个页面上; 4)在展示信息的页面上添加“修改(用户名)昵称”超链接,点击超链接进入修改用户名(昵称)的页面,并在该页面上显示原昵称,用户修改昵称后,点击提交按钮,跳转到新页面展示修改后的昵称。 1)intput.jsp中包含一个表单 2)如果用户没有输入昵称,跳转回 input.jsp 页面并提示用户信息“昵称不能为空,请重新输入!” 3)如果用户输入昵称合法,则打印出所有注册信息 4)在 updateForm.jsp 页面中创建表单 修改成功显示如下信息
时间: 2024-02-18 15:05:46 浏览: 315
好的,我明白了你的问题。以下是一个简单的实现:
1. 首先,我们创建一个 `input.jsp` 页面,其中包含一个表单,表单中包含用户名、密码、邮箱等基本信息的输入框和一个提交按钮和一个重置按钮。代码如下:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户注册</title>
</head>
<body>
<form action="register.jsp" method="post">
<p>
<label for="username">用户名:</label>
<input type="text" name="username" id="username">
</p>
<p>
<label for="password">密码:</label>
<input type="password" name="password" id="password">
</p>
<p>
<label for="email">邮箱:</label>
<input type="email" name="email" id="email">
</p>
<p>
<label for="gender">性别:</label>
<input type="radio" name="gender" value="male" id="male">男
<input type="radio" name="gender" value="female" id="female">女
</p>
<p>
<label for="hobby">爱好:</label>
<input type="checkbox" name="hobby" value="reading" id="reading">阅读
<input type="checkbox" name="hobby" value="music" id="music">音乐
<input type="checkbox" name="hobby" value="sports" id="sports">运动
</p>
<p>
<label for="city">城市:</label>
<select name="city" id="city">
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
<option value="guangzhou">广州</option>
</select>
</p>
<p>
<input type="submit" value="提交">
<input type="reset" value="重置">
</p>
</form>
</body>
</html>
```
2. 当用户点击提交按钮时,我们需要对用户输入的用户名进行判空。我们可以在 `register.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>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
String gender = request.getParameter("gender");
String[] hobby = request.getParameterValues("hobby");
String city = request.getParameter("city");
if(username == null || username.trim().equals("")) {
response.sendRedirect("input.jsp?error=1");
}
else {
%>
<h1>注册信息</h1>
<p>用户名: <%=username%> </p>
<p>密码: <%=password%> </p>
<p>邮箱: <%=email%> </p>
<p>性别: <%=gender%> </p>
<p>爱好: <%=Arrays.toString(hobby)%> </p>
<p>城市: <%=city%> </p>
<p>
<a href="updateForm.jsp?username=<%=username%>">修改(<%=username%>)昵称</a>
</p>
<%
}
%>
</body>
</html>
```
3. 如果用户输入的用户名为空,则我们需要跳转回 `input.jsp` 页面并提示用户信息“昵称不能为空,请重新输入!”。我们可以在 `input.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>
<% if(request.getParameter("error") != null) { %>
<p style="color: red;">昵称不能为空,请重新输入!</p>
<% } %>
<form action="register.jsp" method="post">
<p>
<label for="username">用户名:</label>
<input type="text" name="username" id="username">
</p>
<p>
<label for="password">密码:</label>
<input type="password" name="password" id="password">
</p>
<p>
<label for="email">邮箱:</label>
<input type="email" name="email" id="email">
</p>
<p>
<label for="gender">性别:</label>
<input type="radio" name="gender" value="male" id="male">男
<input type="radio" name="gender" value="female" id="female">女
</p>
<p>
<label for="hobby">爱好:</label>
<input type="checkbox" name="hobby" value="reading" id="reading">阅读
<input type="checkbox" name="hobby" value="music" id="music">音乐
<input type="checkbox" name="hobby" value="sports" id="sports">运动
</p>
<p>
<label for="city">城市:</label>
<select name="city" id="city">
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
<option value="guangzhou">广州</option>
</select>
</p>
<p>
<input type="submit" value="提交">
<input type="reset" value="重置">
</p>
</form>
</body>
</html>
```
4. 最后,我们需要创建一个 `updateForm.jsp` 页面,其中包含一个表单,表单中包含原昵称和新昵称的输入框和一个提交按钮和一个重置按钮。代码如下:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改昵称</title>
</head>
<body>
<h1>修改昵称</h1>
<form action="update.jsp" method="post">
<p>
<label for="oldUsername">原昵称:</label>
<input type="text" name="oldUsername" id="oldUsername" value="<%=request.getParameter("username")%>" readonly>
</p>
<p>
<label for="newUsername">新昵称:</label>
<input type="text" name="newUsername" id="newUsername">
</p>
<p>
<input type="submit" value="提交">
<input type="reset" value="重置">
</p>
</form>
</body>
</html>
```
5. 当用户在 `updateForm.jsp` 页面中修改昵称并提交表单时,我们可以在 `update.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>
<%
String oldUsername = request.getParameter("oldUsername");
String newUsername = request.getParameter("newUsername");
// 更新用户信息的代码
%>
<h1>修改结果</h1>
<p>昵称修改成功!</p>
<p>原昵称: <%=oldUsername%> </p>
<p>新昵称: <%=newUsername%> </p>
</body>
</html>
```
以上就是一个简单的用户注册功能的实现。当用户在 `input.jsp` 页面中输入注册信息并提交时,我们会在 `register.jsp` 页面中进行处理,对用户名进行判空,如果用户名为空,则跳转回 `input.jsp` 页面并提示用户信息“昵称不能为空,请重新输入!”;如果用户名不为空,则在页面中展示用户输入的注册信息,并提供一个“修改(用户名)昵称”的超链接。当用户点击超链接并进入 `updateForm.jsp` 页面时,页面中会展示原昵称的输入框和新昵称的输入框,用户可以修改新昵称并提交表单。当用户提交表单后,我们会在 `update.jsp` 页面中进行处理,展示修改结果。
阅读全文