Myeclipse部署struts2(部署位子没有错),总是提示The requested resource () is not available
HelloWorld.jsp<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><!DOCTY...
HelloWorld.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Hello World!!</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="HelloWorld.action">
<p>输入信息:
<label>
<input name="msg" type="text" id="username" />
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="提交" />
</label>
</p>
<p> </p>
</form>
</body>
</html>
===================================================================
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Struts Blank</display-name>
<!--定义Struts2的FilterDispatcher的Filter-->
<filter>
<!--定义核心Filter的名字-->
<filter-name>struts2</filter-name>
<!--定义核心Filter的实现类-->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<!--FilterDispatcher用来初始化Struts2并且处理所有的Web请求-->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>HelloWorld.jsp</welcome-file>
</welcome-file-list>
</web-app>
===================================================================
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>
<package name="ch" extends="struts-default">
<action name="HelloWorld" class="com.home.bean.HelloWorld">
<result name="success">success.jsp</result>
<result name="error">error.jsp</result>
</action>
</package>
</struts>
===================================================================
HelloWorld.java
package com.home.bean;
public class HelloWorld {
private String username=null;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String execute(){
if(username==null||username.equals("")){
return "error";
}
else{
return "success";}}} 展开
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Hello World!!</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="HelloWorld.action">
<p>输入信息:
<label>
<input name="msg" type="text" id="username" />
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="提交" />
</label>
</p>
<p> </p>
</form>
</body>
</html>
===================================================================
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Struts Blank</display-name>
<!--定义Struts2的FilterDispatcher的Filter-->
<filter>
<!--定义核心Filter的名字-->
<filter-name>struts2</filter-name>
<!--定义核心Filter的实现类-->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<!--FilterDispatcher用来初始化Struts2并且处理所有的Web请求-->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>HelloWorld.jsp</welcome-file>
</welcome-file-list>
</web-app>
===================================================================
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>
<package name="ch" extends="struts-default">
<action name="HelloWorld" class="com.home.bean.HelloWorld">
<result name="success">success.jsp</result>
<result name="error">error.jsp</result>
</action>
</package>
</struts>
===================================================================
HelloWorld.java
package com.home.bean;
public class HelloWorld {
private String username=null;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String execute(){
if(username==null||username.equals("")){
return "error";
}
else{
return "success";}}} 展开
4个回答
展开全部
说得不太详细.没给出出错的URL.不过一般这个错误都是说你所访问的URL所指向的JSP文件或Action没有找到.
看以上代码,只有
<input name="msg"...>一处有问题.因为name的属性是与你定义的bean中的属性相对应的(而不是依靠id对应)可按上面兄弟说的方法改一下.
但是Struts2不一定要继承ActionSupport,因为这里execute返回的是字符串字面变量.文件名也没问题.通常用XXXAction.java一类的名字是为了更好地标识这个java类的作用类型.
看以上代码,只有
<input name="msg"...>一处有问题.因为name的属性是与你定义的bean中的属性相对应的(而不是依靠id对应)可按上面兄弟说的方法改一下.
但是Struts2不一定要继承ActionSupport,因为这里execute返回的是字符串字面变量.文件名也没问题.通常用XXXAction.java一类的名字是为了更好地标识这个java类的作用类型.
展开全部
首先,在你的控制层中的类必须继承ActionSupport这个类,也就是说HelloWorld必须继承这个类,如果你没有这个类那就说明你没有搭建struts2的框架,另外,你的表单提交也有问题,你的页面上<input name="msg".....>那就说明你HelloWorld类的属性必须有"msg" 而不是你的username属性。你把这两个地方改了就应该ok了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.把 <input name="msg".....> 中的 msg 改为 username
2.把 HelloWorld.java 改为 HelloWorldAction.java
2.把 HelloWorld.java 改为 HelloWorldAction.java
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
form 标签的 action 属性写成 **.action 好像有问题吧
看你的struts配置文件是什么啊
**.do
看你的struts配置文件是什么啊
**.do
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询