今天的问题:请问我这样部署我的Servlet,应该如何修改web.xml啊?
2004-07-08 11:37
615 查看
现在把我的源代码,目录结构,web.xml都列出来,看看是什么问题。
目录结构:web页面:input.htm,buy.jsp,sell.jsp,change.jsp,cancel.jsp 都处于%TOMCAT_HOME%/mcv/ 目录下。
servlet:Controller.class 处于 %TOMCAT_HOME%/mcv/WEB-INF/classes/ 下
web.xml配置:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>controller</servlet-name>
<servlet-class>Controller</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
</web-app>
_________________________________________________________________________
input.htm内容:
<body>
<form name=input method=post action=controller>
<input type=text name=id>
<input type=hidden name=buy value=buy.jsp>
<input type=submit name=action value=buy>
<input type=hidden name=sell value=sell.jsp>
<input type=submit name=action value=sell>
<input type=hidden name=change value=change.jsp>
<input type=submit name=action value=change>
<input type=hidden name=cancel value=cancel.jsp>
<input type=submit name=action value=cancel>
</form>
</body>
(其实实现的目的是点击那个按钮,就会自动转到相应的页面,工作流由Controller.class统一控制。)
_________________________________________________________________________
Controller.java 内容:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Controller extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException) {
doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException) {
RequestDispatcher rd=null;
String action=request.getParameter("action");
String page=request.getParameter(action);
rd=request.getRequestDispatcher(page);
if(rd!=null) {
rd.forward(request,response);
}
}
}
_________________________________________________________________________
请帮我看看我的目录结构,web.xml配置,action设置哪里出现问题,因为提交后出现
The requested resource (/mcv/controller) is not available.
错误信息。
_________________________________________________________________________
解答:
<url-pattern>*.jsp</url-pattern>
这句改为:
<url-pattern>/controller</url-pattern>
你要向servlet提交请求,url-pattern配置了你以什么样的地址能访问到这个servlet,和你想要跳转的jsp页面无关,应该在程序中控制
<url-pattern>的内容是你JSP页面中标签<FORM>中ACTION所填的内容!
通过它就可以找到 <servlet-name>controller</servlet-name>
目录结构:web页面:input.htm,buy.jsp,sell.jsp,change.jsp,cancel.jsp 都处于%TOMCAT_HOME%/mcv/ 目录下。
servlet:Controller.class 处于 %TOMCAT_HOME%/mcv/WEB-INF/classes/ 下
web.xml配置:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>controller</servlet-name>
<servlet-class>Controller</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
</web-app>
_________________________________________________________________________
input.htm内容:
<body>
<form name=input method=post action=controller>
<input type=text name=id>
<input type=hidden name=buy value=buy.jsp>
<input type=submit name=action value=buy>
<input type=hidden name=sell value=sell.jsp>
<input type=submit name=action value=sell>
<input type=hidden name=change value=change.jsp>
<input type=submit name=action value=change>
<input type=hidden name=cancel value=cancel.jsp>
<input type=submit name=action value=cancel>
</form>
</body>
(其实实现的目的是点击那个按钮,就会自动转到相应的页面,工作流由Controller.class统一控制。)
_________________________________________________________________________
Controller.java 内容:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Controller extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException) {
doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException) {
RequestDispatcher rd=null;
String action=request.getParameter("action");
String page=request.getParameter(action);
rd=request.getRequestDispatcher(page);
if(rd!=null) {
rd.forward(request,response);
}
}
}
_________________________________________________________________________
请帮我看看我的目录结构,web.xml配置,action设置哪里出现问题,因为提交后出现
The requested resource (/mcv/controller) is not available.
错误信息。
_________________________________________________________________________
解答:
<url-pattern>*.jsp</url-pattern>
这句改为:
<url-pattern>/controller</url-pattern>
你要向servlet提交请求,url-pattern配置了你以什么样的地址能访问到这个servlet,和你想要跳转的jsp页面无关,应该在程序中控制
<url-pattern>的内容是你JSP页面中标签<FORM>中ACTION所填的内容!
通过它就可以找到 <servlet-name>controller</servlet-name>
相关文章推荐
- WebSphere下部署修改的web.xml问题
- WebSphere修改已经部署的应用的web.xml不生效的问题
- 如何让Tomcat自动Load被修改过的类 servlet如何读取web.xml中的初始参数
- 关于servlet中web.xml的一些问题
- 修改web.xml 去掉jetty锁定静态文件的问题 的配置(正点-使用maven,jetty配合)
- Jboss As5 中部署web应用,xml解析器冲突的问题
- 如何将已经部署好了的web项目反编译,并对其中的类文件进行修改
- 大型Web架构应该考虑的问题--转--修改
- 解决taglib在servlet2.4和jsp2.0下写入web.xml的问题
- web.xml中servlet, bean, filter, listenr 加载顺序问题
- 跳过登陆页面直接访问该jsp文件了,这样不好,请问大家如何避免这种问题?
- Web Application 部署碰到的Transform.xml错误的问题
- 开启servlet调试器,在不修改web.xml文件的情况下也能运行servlet
- web.xml中servlet, bean, filter, listenr 加载顺序问题
- MyEclipse web project 重命名问题?(如何彻底修改工程名)
- WEB.XML(servlet的部署描述符文件)
- 编写部署servlet时用的web.xml
- servlet与web.xml配置的问题
- 因系统因配置问题报错,如何调整(两类 【与外界其他环境相关联】 【★自身配置★】(★关注web.xml★))
- Servlet中web.xml 配置问题,求解!!!