首页 > 解决方案 > jsp servlet 无法使用 intelling ide 和 tomcat 505 内部错误服务器显示

问题描述

即使我已经使用 servlet 控制器配置了病房爆炸和 tomcat 服务器,我也无法打开我的 jsp 文件。我试图查看 stackoverflow 和其他网站中的不同错误,但找不到合适的错误解决程序。

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

public class ControleurServlet extends HttpServlet {
    private IAccountDAO account;

    @Override
    public void init()  {
        account = new AccountDAOImpl();
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String path = req.getServletPath();
        if (path.equals("/index.php")) {
            req.getRequestDispatcher("Accounts.jsp").forward(req, resp);
        }
        else if (path.equals("/search.php")){
            String keyWord=req.getParameter("keyWord");
            AccountModel model=new AccountModel();
            model.setKeyword(keyWord);
            List<Account> accounts= account.accountsValues("%"+keyWord+"%");
            model.setAccounts(accounts);
            req.setAttribute("model",model);
            req.getRequestDispatcher("Accounts.jsp").forward(req,resp);
        }
 } 
}

这是我的jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
<head>
    <title>Accounts</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
</head>
<body>
<%@include file="header.jsp" %>>
<div class="container col-md-10 col-md-offset-1">
    <div class="panel panel-primary">
        <div class="panel-heading">Search Users:</div>
        <div class="panel-body">
            <form action="search.php" method="get">
                <label>Keyword</label>
                <input type="text" name="keyWord">
                <button type="submit" class="btn btn-primary">Search</button>
            </form>
            <table class="table">
                <tr>
                    <th>User_Id</th><th>Creation_Date</th><th>Username</th><th>Password</th>
                </tr>
                <c:forEach items="${model.account}" var="acc">
                    <tr>
                        <td>${acc.user_id}</td>
                        <td>${acc.creation_date}</td>
                        <td>${acc.username}</td>
                        <td>${acc.password}</td>
                        <td><a onclick="return confirm("Are you sure?")" href="delete.php?id=${acc.user_id}">delete</a> </td>
                        <td><a href="Edit.php?id=${acc.user_id}">Edit</a> </td>
                    </tr>
                </c:forEach>
            </table>
        </div>
    </div>
</div>
</body>
</html>

尝试打开我的时,它一直向我显示 505 错误http://localhost:3030/Banque_war_exploded/index.php,这也是我的web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <display-name>Banque</display-name>
    <servlet>
        <servlet-name>cs</servlet-name>
        <servlet-class>couche.presentation.ControleurServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>cs</servlet-name>
        <url-pattern>*.php</url-pattern>
    </servlet-mapping>
</web-app>

和错误跟踪代码

org.apache.jasper.JasperException: /Accounts.jsp (ligne: [30], colonne: [16]) D'après la TLD, l'attribut [items] n'accepte aucune expression
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:292)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:115)
    org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1250)
    org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:888)
    org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1544)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2441)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2447)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:470)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389)
    org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1857)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:224)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:386)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:362)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:346)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:605)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:400)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    couche.presentation.ControleurServlet.doGet(ControleurServlet.java:26)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

标签: javajspservlets

解决方案


推荐阅读