An葡萄汽水 2024-10-15 14:09 采纳率: 96.2%
浏览 24
已结题

java eeServlet运行报错404

eclipse Java EE程序问题
新建了两个Servlet程序
(1)loginPage:

package myPackage;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class loginPage
 */
@WebServlet("/loginPage")
public class loginPage extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public loginPage() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        Cookie [] cookies=request.getCookies();
        String username="",password="";
        if(cookies!=null) {
            for(int i=0;i<cookies.length;i++) {
                if("username".equals(cookies[i].getName())) {
                    username=cookies[i].getValue();
                }else if("password".equals(cookies[i].getName())) {
                    password=cookies[i].getValue();
                }
            }
        }
        response.setContentType("text/html;chrset=utf-8");
        
        response.getWriter().println("<!DOCTYPE html>\r\n"
                + "<html lang=\"zh-CN\">\r\n"
                + "<head>\r\n"
                + "    <meta charset=\"utf-8\">\r\n"
                + "    <title>登录页面</title>\r\n"
                + "    <link rel=\"stylesheet\" href=\"styles.css\">\r\n"
                + "</head>\r\n"
                + "\r\n"
                + "<body>\r\n"
                + "\r\n"
                + "    <div class=\"login-container\">\r\n"
                + "    \r\n"
                + "        <h1>系统登录</h1>\r\n"
                + "        \r\n"
                + "       <form action=\"logResponse\" method=\"post\" id=\"loginForm\">\r\n"
                + "            <div class=\"input-group\">\r\n"
                + "                <label for=\"username\">用户名:</label>\r\n"
                + "                <input type=\"text\" id=\"username\" name=\"username\" placeholder=\"请输入用户名\">\r\n"
                + "            </div>  \r\n"
                + "            \r\n"
                + "            <div class=\"input-message\">\r\n"
                + "                <span id=\"usernameMessage\" class=\"message\"></span>\r\n"
                + "            </div>\r\n"
                + "            \r\n"
                + "            <div class=\"input-group\">\r\n"
                + "                <label for=\"password\">密码:</label>\r\n"
                + "                <input type=\"password\" id=\"password\" name=\"password\" placeholder=\"请输入密码\">\r\n"
                + "            </div>\r\n"
                + "            \r\n"
                + "            <button type=\"submit\" id=\"loginButton\">登录</button>\r\n"
                + "        </form>\r\n"
                + "        \r\n"
                + "    </div>\r\n"
                + "    \r\n"
                + "    <script src=\"script.js\"></script>\r\n"
                + "    \r\n"
                + "</body>\r\n"
                + "\r\n"
                + "</html>\r\n"
                + "");
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
         String username = request.getParameter("username");
         String password = request.getParameter("password");

            // 这里可以添加验证逻辑,比如查询数据库等

            // 设置Cookie
         Cookie usernameCookie = new Cookie("username", username);
         Cookie passwordCookie = new Cookie("password", password);
         usernameCookie.setMaxAge(30 * 24 * 60 * 60); // 30天
         passwordCookie.setMaxAge(30 * 24 * 60 * 60); // 30天       response.addCookie(usernameCookie);
         response.addCookie(passwordCookie);

            // 重定向到主页或其他页面
         response.sendRedirect("logResponse"); // 假设你有一个主页Servlet
    }
}

(2)logResponse.java

package myPackage;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;


/**
 * Servlet implementation class logResponse
 */
@WebServlet("/logResponse")
public class logResponse extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public logResponse() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    
    
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
         request.setCharacterEncoding("utf-8");
         response.setContentType("text/html;charset=utf-8");
         //processRequest(request,response);
         String uname = request.getParameter("username");
         String password = request.getParameter("password"); // 获取密码
         response.setContentType("text/html;charset=utf-8");
         PrintWriter out = response.getWriter();
         out.println("<p>用户名: " + uname + "</p>");
         out.println("<p>密码: " + password + "</p>"); // 显示密码
        
    }
        

}

为什么运行login.java出现404报错页面如下

img

  • 写回答

26条回答 默认 最新

  • CSDN专家-sinJack 2024-10-21 10:00
    关注
    获得0.30元问题酬金

    404是访问地址不对,这个地址不是网络地址,肯定是访问不到资源的。
    需要在tomcat下允许项目,然后访问对应请求地址。

    img

    评论

报告相同问题?

问题事件

  • 系统已结题 10月23日
  • 赞助了问题酬金15元 10月15日
  • 创建了问题 10月15日