我用struts框架编写了一个jsp页面。在运行时我遇到了404错误。
的Login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<s:form action="login" method="post">
<s:textfield name="id" label="Employee Id"></s:textfield>
<s:textfield name="name" label="Employee Name"></s:textfield>
<s:submit value="submit"></s:submit>
</s:form>
</body>
</html>
LoginAction.java
package Login;
public class LoginAction {
private int id;
private String name;
public int getId() {
return id;
}
public String getName() {
return name;
}
public String execute(){
return "success";
}
}
struts.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0.//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="Login" extends="struts-default" namespace="/" >
<default-action-ref name="upload" />
<action name="login" class="Login.LoginAction" method="execute">
<result name="success">products.jsp</result>
</action>
</package>
</struts>
的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>Product</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
</welcome-file-list>
</web-app>
products.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>product images</title>
</head>
<body>
<a href="productdetails.jsp"><img src="images/bp.jpg" class="tooltip" title="BP monitor" id="BP monitor"> </a>
<a href="productdetails.jsp"><img src="images/sethescope.jpg" class="tooltip" title="sethescope" id="sethescope"></a>
</body>
</html>
答案 0 :(得分:0)
您的网址应为http://localhost:8080/webapp/products 您缺少webapp部分,这是您的war文件名。
答案 1 :(得分:0)
拉吉, 您需要在URL中使用正确的区分大小写的上下文路径(默认情况下为war文件名)。如果您的背景是&#39;产品&#39;尝试localhost:8080 /产品
同时在http://tomcat.apache.org/tomcat-6.0-doc/config/context.html#Introduction
检查Tomcat DOC