关于servlet简单映射问题?

seaforce 2010-09-01 09:06:47
我自己配置的servlet映射出来的时候地址会自动给我加个http://localhost:8080/diantuan/servlet/front/register_ok.jsp(红色部分,弄得我找不到相应的JSP),下面是部分部码。

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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>diantuan</display-name>
<servlet>
<servlet-name>DtServlet</servlet-name>
<servlet-class>com.diantuan.server.MainServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DtServlet</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<resource-ref>
<description>mysql database</description>
<res-ref-name>jdbc/diantuan</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>

后台servlet程序:

。。。。
String userName = request.getParameter("user_name");
String passWord = request.getParameter("pass_word");
String email = request.getParameter("email");
String celler = request.getParameter("celler");
logger.info("userName:"+userName+",passWord:"+passWord+",email:"+email+",celler:"+celler);
DtDAO dtdao = DtDAOFactory.getDAO(DtDAOImplNames.DT);
dtdao.insertTest();

response.sendRedirect("front/register_ok.jsp");
。。。。

返回时页面上出现:

http://localhost:8080/diantuan/servlet/front/register_ok.jsp

而我实际需要的是:http://localhost:8080/diantuan/front/register_ok.jsp

有人遇到过这样的问题吗???
...全文
144 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
seaforce 2010-09-01
  • 打赏
  • 举报
回复
我通过加绝对路径的形式返回成功了,谢谢几位大神。
大步向前001 2010-09-01
  • 打赏
  • 举报
回复
将 response.sendRedirect("front/register_ok.jsp");

改成

response.sendRedirect("/diantuan/front/register_ok.jsp");

就是加上"/项目名"

试试~~
YOYOZXR 2010-09-01
  • 打赏
  • 举报
回复
将 response.sendRedirect("front/register_ok.jsp");

改成

response.sendRedirect("/diantuan/front/register_ok.jsp");

就是加上"/项目名"

试试~~
liuyiwu 2010-09-01
  • 打赏
  • 举报
回复
试试在front/register_ok.jsp前面加一个斜杠:response.sendRedirect("/front/register_ok.jsp");

能不能把你进入这个servlet的url也贴出来看看。
yn00 2010-09-01
  • 打赏
  • 举报
回复
 <servlet-mapping>
<servlet-name>DtServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
yn00 2010-09-01
  • 打赏
  • 举报
回复
 <servlet-mapping>
<servlet-name>DtServlet</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

改成
 <servlet-mapping>
<servlet-name>DtServlet</servlet-name>
<url-pattern/*</url-pattern>
</servlet-mapping>
yn00 2010-09-01
  • 打赏
  • 举报
回复
 <servlet-mapping>
<servlet-name>DtServlet</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

去掉红色部分

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧