Servlet路径
在html项目中,jsp需要连接java文件,一般通过servlet类
那么如何连接servlet类呢?
比如在提交表单时就可以用
<form action="Servlet?method=login" method="post" onsubmit="return check()">
在Servlet类前写
@WebServlet("/Servlet")
就可以了
下面是登录的完整代码
index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<% } %>
<div id="login">
<h1>Login</h1>
<form action="Servlet?method=login" method="post" onsubmit="return check()">
<input type="text" required="required" placeholder="请输入账号" name="id"></input>
<input type="password" required="required" placeholder="请输入密码" name="password"></input>
<button class="but" type="submit">登 录</button>
</form>
</div>
</body>
</html>
Servlet.java(置于Servlet包中)
package Servlet;
import Dao.*;
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;
import java.util.List;
@WebServlet("/Servlet")
public class Servlet extends HttpServlet{
private static final long serialVersionUID = 1L;
public Servlet() {
super();
}
Dao dao=new Dao();
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
String method = req.getParameter("method");
if ("login".equals(method)) {
login(req, resp);
}
}
//------------------------------------------------------------------------------------------------------
private void login(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
// TODO Auto-generated method stub
String id = req.getParameter("id");
HttpSession session =req.getSession();
session.setAttribute("id",id);
String password = req.getParameter("password");
System.out.println("servlet.login"+" id="+id+" password="+password);
User user=dao.login(id);
System.out.println(user.getForm());
if(user.getPassword()!=null&&user.getPassword().equals(password)) {
req.setAttribute("message", "登录成功");
if (user.getForm().equals("管理员")) {
req.getRequestDispatcher("admin.jsp").forward(req, resp);
} else if (user.getForm().equals("教师")) {
req.getRequestDispatcher("teacher.jsp").forward(req, resp);
}
}else{
req.setAttribute("message","登录失败");
req.getRequestDispatcher("index.jsp").forward(req,resp);
}
}
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步