java - 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)
解决方案
推荐阅读
- material-ui - material-ui 使用异步自动完成
- python - Is there any way to replace/substitute an array data points in uint8 data
- javascript - 为什么我的 JSX 元素数组不会出现在我的 reactjs 渲染中?
- reactjs - ERR_INSUFFICIENT_RESOURCES 在反应 redux 传奇中的大量 https 调用循环上
- timer - 停止 PLC 定时器
- python-3.x - 如何将多个项目添加到 SQLite3 列中?
- laravel - 如何在 Laravel 中更改用户数据
- ios - iOS Firebase 身份验证域对用户可见
- python - Python 将网站中的所有内容获取到 html 文件中
- rxjs - NGXS 连续触发效果