我的毕业设计做的是一个手机查询系统,前台用的是JSP+WML做的,后台使用的是JSP+HTML,发布用的服务器是TOMCAT。测试的时候,如果我有IE去跑前台页面,显示一个图片X,跑后台的话可以正常使用,这些说明发布成功。    当我用Opera模拟器来测试前台时(Opera支持WML语言),他却报404错误,具体错误信息如下:
Not found
The requested URL /MyTrain/user/selectMain.jsp was not found on this server大家都知道Opera是一个强大的浏览器,也可以跑HTML的页面,如果我用他测试后台的话,同样也报上面的错误,可是后台我用IE跑一点错都没有。我地址栏里输入的地址是:http://localhost:8080/MyTrain/user/selectMain.jsp请教高手解答。

解决方案 »

  1.   

    我用的是全路径。我用IE可以跑~换了Opera就报404错误。就是不知道为什么。而前台的WML页面只能用Opera进行调试
      

  2.   

    从报错信息上看,/MyTrain/user/selectMain.jsp 
    你应该直接这样写user/selectMain.jsp 
      

  3.   

    MyTrain是项目名称
    selectMain.jsp是放在WebRoot下的user文件夹下的
      

  4.   

    现在的问题是,在IE下面测试,写的URL没有问题
    换了Opera浏览器之后,同样的URL就出现了404找不到的错误。。我很囧~至少1个礼拜前是跑起来的~写论文的时候还截图呢
      

  5.   

    建议路径改用request.getContextPath()方式
      

  6.   

    在JSP中,
    <%= request.getContextPath()%>/user/selectMain.jsp
      

  7.   

    其实我觉得是浏览器的问题。
    同样一个路径,同样一张JSP页面,在IE中就能显示出来~在Opera中反而出现了404的错误。
    如果这样的话,有没有人知道Opera下测试的路径该怎么写?
      

  8.   

    我的代码如下<?xml version="1.0" encoding="gb2312"?>
    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"><%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <% response.setContentType("text/vnd.wap.wml;charset=gb2312");
    request.setCharacterEncoding("gb2312");
    %><wml><head>
    <meta http-equiv="Cache-Control" content="max-age=0" /></head><card id="card0" ordered="false"><p align="center">
    <i>欢迎使用公交查询系统!</i>
    <br />
    <b>请选择您的查询方式:</b>
    <br />
    <select title="method" name="method">
    <option title="choose" value="choose">
    请选择
    </option>
    <option title="No" value="No" onpick="#card2">
    按车次查询
    </option>
    <option title="City" value="City" onpick="#card3">
    按站点查询
    </option>
    </select>
    </p>
    </card><card id="card2">
    <p align="center">
    按车次查询:
    <BR />
    请输入查询的车次:
    <br />
    <input type="text" name="No" />
    <BR />
    <do type="accept" label="确定">
    <go href="selectNo.jsp" method="post">
    <postfield name="trainId" value="$No" />
    </go>
    </do>
    </p>
    </card>
    <card id="card3">
    <p align="center">
    按站点查询 出发地:
    <br />
    <input type="text" name="startStation" />
    <br />
    目的地:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <br />
    <input type="text" name="endStation" />
    <br />
    <do type="accept" label="确定">
    <go href="selectStation.jsp" method="post">
    <postfield name="startStation" value="$startStation" />
    <postfield name="endStation" value="$endStation" />
    </go>
    </do>
    </p>
    </card></wml>我还真不知道怎么改了,这个JSP文件是放在项目的WebRoot下的user的文件夹下面的。现在很急,请高手指导。因为是WML语言,必须要用手机模拟器,就用Opera可以的。我只想知道如果代码没有问题的话,测试的时候地址栏的URL到底怎么写~
      

  9.   

    我应该知道问题在哪了
    我现在用Opera键入http://localhost:8080/时,跳出的不是TOMCAT的主页
    而之前我重新下了个TOMCAT,用IE键入http://localhost:8080/,同样也不是TOMCAT主页,跟上面Opera是一样的页面,一个ORACLE DATABASE 10g的页面(我也不知道哪来的),然后发布项目启动TOMCAT也同样报404错误。我重新配置了下TOMCAT的环境,IE正常可以调试了,键入http://localhost:8080/也同样可以进入TOMCAT的主页面了。
    由此可见,为何我的Opera依旧不行呢?难道是TOMCAT的环境的问题?可是环境又重新配过了吖。求解。
      

  10.   


    应该是你的ORACLE DATABASE 10g占用了你的8080端口,当你重新再配置Tomcat的时候,8080端口又被Tomcat占用回来了。
      

  11.   

    <LINK href="${pageContext.request.contextPath}/css/pageStyle.css"
    type=text/css media=screen rel=stylesheet>路径全部替换成${pageContext.request.contextPath} 可能对你有帮助
      

  12.   

    问题解决了
    果然是装了ORACLE DATABASE 10g占了8080端口~我把TOMCAT的端口改成了其他的Opera就可以正常调试了~