注册 登录
编程论坛 J2EE论坛

求助!! 404异常 The origin server did not find a current representation for the targ

渐渐鱼 发布于 2018-10-06 12:46, 40003 次点击
新学Servlet

找了一个简单的代码测试一下

程序代码:
package Hello;
// 导入必需的 java 库
import *;
import javax.servlet.*;
import javax.servlet.http.*;

// 扩展 HttpServlet 类
public class HelloWorld extends HttpServlet {

 

 
private String message;

  public void init() throws ServletException
  {
      // 执行必需的初始化
      message = "Hello World";
  }

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // 设置响应内容类型
      response.setContentType("text/html");

      // 实际的逻辑是在这里
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
  }
  
  public void destroy()
  {
      // 什么也不做
  }
}


web.xml配置
程序代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>      
    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>Hello.HelloWorld</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/Hello/HelloWorld</url-pattern>
    </servlet-mapping>
</web-app>  


嗯,tomcat服务器已经设置好了classpath环境变量:Servlet-api.jar。


HTTP Status 404 – Not Found


Type Status Report

Message /WebDemo/Hello/HelloWorld

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.


Apache Tomcat/9.0.12


在eclipse和浏览器中进的8080都是这个显示

只有本站会员才能查看附件,请 登录



网上搜了一些方法,似乎都不顶用....

有大佬帮忙支支招吗??
12 回复
#2
林月儿2018-10-06 21:20
把请求地址中的WEB-INF/ classes/去掉试试
#3
静水且流深2018-10-06 21:34
404资源访问不到,但也说明服务启动了。你要是想访问WEB-INF下资源试试spring
#4
渐渐鱼2018-10-07 12:10
回复 2楼 林月儿
终于可以运行了
不过,月月姐,这是个什么原理。为什么之前的WEB-INF/classes目录可以不用呢?不是按照文件的相对路径寻找class文件吗?
#5
林月儿2018-10-07 12:35
程序会按照你配置的请求自己找相应的servlet,否则还要配置干嘛?你自己认为的路径eclipse肯定不是这么处理的所以才会报错。那个javase学完了?
#6
渐渐鱼2018-10-07 15:29
回复 5楼 林月儿
嗯嗯,JavaSE已经大致学完了。但是怎么把每一个知识点组合起来还是需要一些小游戏和实现一些功能来连接。像这个贪吃蛇的小游戏,让我发现了LinkedLIst集合原来可以这样用。以前总是看不到这些孤立的集合,线程有什么用现在想想有点目光短浅了。目前在想一边增强SE的熟练度,一边研究一下Web开发。之前有学过H5和CSS,JS一般没怎么学直接跳到jQuery去了,但是原生开发还是得用JS。回炉重造把

月月姐,对于那个路径问题我还是有点晕。比如说我在Tomcat上运行一个class文件,我是用eclipse来建立项目的,然后以前看帖子就是把tomcat部署到eclipse上,在eclipse创建一个web项目编译之后就会在tomcat的webapps下自动创建一个文件夹。然后把class文件传过来了。服务器也是运行这个class文件。服务器自动找到webapps下的目录可在8080输入路径的时候,WEB-INF和下面的classes文件夹直接就跳过去了吗?上次我发的那个贴:WebDemo/WEB-INF/classes/类包/类名。正常的相对路径就是这样找文件的啊。但是事实的确是WebDemo/类包/类名是可以运行的。如果单个运行Servlet文件是没问题的,可是我今天在看页面的重定向和请求转发的时候就尴尬了。因为要写路径,于是我怎么试都不对。。。。这个WEB-INF和classes到底要不要呢??
#7
林月儿2018-10-07 18:11

在eclipse创建一个web项目编译之后就会在tomcat的webapps下自动创建一个文件夹。
这个好像是myecplise干的事情,eclipse是将你的项目结构拷贝到自身的插件目录下。
初学的话只要了解它的处理流程就行了,根据web.xml的配置发送请求,它会根据你的配置去找相应的servlet。
servlet本身不适合作为显示,你想看界面就用jsp或者html好了,servlet通常用于处理请求的业务逻辑。
这个WEB-INF和classes到底要不要呢??
class文件见过吗?就是字节码文件,你指望它给你渲染界面还是咋的?
你要是想了解处理细节,应该分析看到的处理结果从何而来。
上面也写了

      // 实际的逻辑是在这里
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");

相当于前台的document.write("<h1>Hello World</h1>")
最后都是静态页面呈现给用户的。
这个html,js,css还是要带着学一下的。既然都接触web了

提到javase,基本功还行,就是编码的习惯要培养。
像代码缩进啊,变量名拼写啊这些方面要注意。能让别人一眼看出毛病的那就不应该犯了。
你提到的jquery,比较常用的前端js框架了。干嘛不用呢?闭门造轮子吗?语法简洁使用方便。
举个例子,你写贪吃蛇,其实定义个嵌套的链表数据结构直接可以完成蛇的创建。为啥还用linkedlist呢?
站在前人的肩膀可以在此基础上去研究更复杂更新颖的问题,但一遍遍的造轮子适合学习阶段锻炼能力。
至于造轮子厉害还是造车厉害,我也说不上来,只能说多见见世面没坏处。
#8
渐渐鱼2018-10-09 17:09
回复 7楼 林月儿
国庆收假了,又步入了紧张刺激的学习阶段。
月月姐,最近在忙什么呢?
关于上次讨论造轮子的问题。。。额,,,我之前也听说不要造轮子。直接用就好。
就拿JQuery来说吧:
jQuery是由JS封装而来的。在一些方面,JQuery实现的效率比JS实现的快得多。
那可以直接学JQuery吗?为啥还要学JS呢?
这两天我看JSTl标准标签库。越看越不明白,JSTL就是为了替代简化Java代码而生的。既然这样,为啥不一开始就直接用JSTL呢?
JS到JQuery,,然后嵌入到JSP的Java代码转为JSTL。
这两个过程是如此惊人的相似,不过没看出这个转变的目的在哪??
在实际的应用中,我也看过一些招聘网站上,有一些要求熟练JQuery框架,但是有一些要求熟练JS的原生编程。。。
但用了JQuery后就感觉JS有点LOW了。。。
#9
林月儿2018-10-09 17:47
最近在看中华好诗词,郦波老师点评真是厉害了
至于要不要学js。
首先你也知道jquery封装了js,那么它的边界也就是js的边界。
举个例子,食堂买炒饭,点了好久好久没给你做,你会问前面还有多少人啊?
有的摊位只会回答你,稍等一下,就是不告诉你还有多少人
有的呢,愿意告诉你前面有多少人,但你发现后来排到了你的前面。
jquery就像你问的服务员,出了问题怎么跟你汇报原因不是你可以决定的
那你发现后来的比你先做,就像你学了js,看起来没什么用,但对此你有了客观的评价。
很喜欢老师总结诗词的“无用之用”:诗词从来不是决定输赢、彼此攻击,甚至提供炫耀、以资傲娇的资本。诗词是,且只是一种抚慰心灵的力量、塑造精神的力量、滋养灵魂的力量!
感觉你学的挺快的,恩,适当的放慢脚步,人生还是有很多乐趣的,比如追剧

#10
渐渐鱼2018-10-09 19:27
回复 9楼 林月儿
剧一直在追啊,吴磊小哥哥的斗破苍穹一直在追。动漫看的比较多,电视剧没什么特别感兴趣的。
JS可能比较底层一点比起JQuery,可能在修bug的时候比较重要。具体还是等应用的时候才会拎的比较清。
我觉得我速度还行吧。额嗯,可能我更喜欢看个大概就是知道这个东西具体是干嘛的,然后怎么用,粗略过一遍。
然后等需要的时候再看,把这样属性方法什么的当API来查,等用的时候再具体的去看,这样印象和熟练可能会更好一点。
可能也是没多少耐心,千篇一律的语法,换汤不换药,天天看怼着也挺难受。JSTL里的<c:inport >就是在<jsp:include>
里升级了一下。。但是呢,属性和书写方式又不一样。感觉把JSP再学了一遍。剩下两张过滤器和监听器还有AJAX异步交互学完,这本书就差不多了。
月月姐,有什么比较有趣的Web项目推荐吗?总得是要学以致用才能发现问题和不足啊??
#11
林月儿2018-10-09 19:43
这本书就学完了?什么书这么厉害?
我不布置家庭作业啊写游戏吧😄看你还写的还蛮认真
web游戏没怎么接触,也不知道推荐啥呢
下班不想聊代码这种不开心的事,刷剧去了😁
#12
渐渐鱼2018-10-11 11:26
回复 11楼 林月儿
月月姐,你在刷什么剧啊??如懿传吗??
家庭作业,你是老师???


[此贴子已经被作者于2018-10-11 11:32编辑过]

#13
老道游天下2019-04-04 10:44
提示: 作者被禁止或删除 内容自动屏蔽,只有管理员可见
1