注:不包含JDBC操作,只是最简单的登陆作用示范
运行环境IDEA 专业版
Tomcat9
Maven
最终效果
各个文件夹的说明
- main-java 存放java类,比如实现Servlet操作的类,JDBC操作的类等等
- WEB-INF 存放web项目相关的配置文件
- test-java 使用junit类进行测试的专用文件夹(本次未用到)
- resources 存放网站资源的文件夹
- classes 项目编译后生成的java类存放目录
各个文件的说明
- web.xml 配置web项目的文件
- index.jsp 部署服务器后默认访问的主页
- welcome.jsp 本次测试登陆后跳转的页面
- pom.xml 设置Maven项目的依赖
pom.xml
1.2 代码实现4.0.0 groupId testLogin 1.0-SNAPSHOT javax.servlet servlet-api 2.4 javax.servlet javax.servlet-api 3.1.0 8 8
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
$Title$
welcome.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
<%=session.getAttribute("result")%>
LoginServlet.java
package com.test.Controller;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet(name = "LoginServlet", urlPatterns = "/toLogin")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 获取 Session
HttpSession session = req.getSession();
// 根据name属性获取值
String un = req.getParameter("username");
String pw = req.getParameter("password");
System.out.println("ok");
// 判断是否符合条件 (一般是涉及JDBC的操作)
session.setAttribute("result",
(un.equals("admin") && pw.equals("admin")) ?
"登陆成功!" : "登陆失败.");
// 跳转页面
req.getRequestDispatcher("/welcome.jsp").forward(req,resp);
}
}
2. Ajax实现登陆效果
最终效果
pom.xml 内容 和 上一个相同
index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
$Title$
LoginServlet.java
package com.test.Controller;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet(name = "com.test.Controller.LoginServlet", urlPatterns = "/toLogin")
public class LoginServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
// 前端:根据name属性获取前端输入的值
String un = req.getParameter("username");
String pw = req.getParameter("password");
// 后端:判断是否符合条件 (一般是涉及JDBC的操作)
resp.getWriter().write((un != null && pw != null) &&(un.equals("admin") && pw.equals("admin")) ?
"登陆成功!" : "登陆失败.");
}
}



