提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、效果图
登录页面
登录成功后
二、代码
1.JAVA代码
package com.fy.servlet;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.util.Arrays;
@WebServlet(name = "loginServlet", value = "/loginServlet")
public class loginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");//设置字符编码
String username = request.getParameter("username");
String password = request.getParameter("password");//获取from表单信息
String[] hobby = request.getParameterValues("hobby");
// System.out.println("============================");
// System.out.println("username"+username);
// System.out.println("password"+password);
// System.out.println(Arrays.toString(hobby));
if("Fy".equals(username)&&"123".equals(password))
{
ServletContext servletContext = this.getServletContext();//利用servletContext对象实现请求转发
//获取请求转发对象 RequestDispatcher
RequestDispatcher requestDispatcher = servletContext.getRequestDispatcher(getServletContext().getContextPath()+"/success.jsp");
//请求转发
requestDispatcher.forward(request,response);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
这里主要是借用了servletContext 获取请求转发对象 RequestDispatcher 。调用forward()函数实现登录功能。
2.JSP代码
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1 style="text-align: center">登录</h1>
<div style="text-align: center">
<form action="/loginServlet" method="post">//form表单
用户名:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br><!--name属性就相当于键值对中的键-->
<input type="checkbox" name="hobby" value="唱">唱
<input type="checkbox" name="hobby" value="跳">跳
<input type="checkbox" name="hobby" value="RAP">RAP
<input type="checkbox" name="hobby" value="篮球">篮球
<input type="submit">
</form>
</div>
</body>
</html>
success.jsp
<%@ page import="java.util.Arrays" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
欢迎你:<%=request.getParameter("username")%><br>
你喜欢:<%=Arrays.toString(request.getParameterValues("hobby"))%><!--jsp表达式,用来将程序的输出,输出到客户端(浏览器)-->
</body>
</html>
jsp表达式,用来将程序的输出,输出到客户端(浏览器)
- 格式:
<%= 变量或者表达式 %>
request对象和response对象是JSP的内置对象,可以直接调用。