用Java的servlet做在Exam网站下新建一个名为login.jsp的页面,页面中放入如下控件,并显示出来 输入用户名admin 密码admin后,显示弹出窗“登陆成功”,否则显示“登录失败”
时间: 2024-03-01 07:49:58 浏览: 97
好的,下面是使用Java的servlet实现此功能的具体步骤:
1. 在Exam网站下新建一个名为`login.jsp`的页面,在页面中放入如下控件:
```
<form method="post" action="/login">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br>
<label for="password">密码:</label>
<input type="password" id="password" name="password"><br>
<button type="submit">登录</button>
</form>
```
其中,`form`标签中的`method`属性指定了表单提交的方式为POST,`action`属性指定了表单提交的地址为`/login`。
2. 在Exam网站下新建一个名为`LoginServlet`的servlet,处理表单提交请求。可以编写一个类,继承`HttpServlet`类,并重写`doPost`方法。在该方法中,可以获取表单提交的用户名和密码,进行判断。如果用户名和密码均为`admin`,则返回一个字符串`success`,否则返回一个字符串`fail`。可以使用`response.getWriter().write`方法,将返回的字符串转换为JSON格式,返回给前端页面。具体代码如下:
```
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
if ("admin".equals(username) && "admin".equals(password)) {
response.getWriter().write("{\"status\": \"success\"}");
} else {
response.getWriter().write("{\"status\": \"fail\"}");
}
}
}
```
在该代码中,`request.getParameter`方法用于获取表单提交的参数,`response.getWriter().write`方法用于将返回值转换为JSON格式。
3. 在`web.xml`文件中,配置`servlet`和`servlet-mapping`,使得服务器能够正确处理表单提交请求。具体代码如下:
```
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
```
其中,`servlet-name`指定了`servlet`的名称,`servlet-class`指定了`servlet`的类名,`url-pattern`指定了`servlet`处理的请求地址。
4. 在`login.jsp`页面中,使用jQuery的`$.ajax`方法,向`/login`地址发送表单提交请求,并处理服务器返回的JSON格式数据。具体代码如下:
```
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(function() {
$('form').submit(function(event) {
event.preventDefault();
$.ajax({
type: 'POST',
url: '/login',
data: $(this).serialize(),
success: function(data) {
if (data.status === 'success') {
alert('登录成功');
} else {
alert('登录失败');
}
},
error: function() {
alert('请求失败');
}
});
});
});
</script>
```
在该代码中,`$('form').submit`方法用于监听表单的提交事件,`event.preventDefault()`方法用于阻止表单的默认提交行为。`$.ajax`方法用于向服务器发送表单提交请求,`success`回调函数和`error`回调函数用于处理服务器返回的数据。如果返回的数据中`status`属性为`success`,则弹出`登录成功`的提示框,否则弹出`登录失败`的提示框。
以上就是使用Java的servlet实现在Exam网站下新建一个名为`login.jsp`的页面,并实现输入用户名admin 密码admin后,显示弹出窗“登陆成功”,否则显示“登录失败”的具体步骤。
阅读全文