/demo1/LoginServlet

/demo1/LoginServlet

/demo1/LoginServlet

/LoginServlet

LoginServlet

3个都可以到LoginServlet这个Servlet,他们三个应该都是相对路径吧,平时的时候我们选哪个写呢

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

1、/demo1/LoginServlet是全路径,在客户端访问时(即网页端),要写全路径

2、/demo1/RegistServlet 和/RegistServlet都是相对路径吗?

不是的,/demo1/RegistServlet 为全路径,有工程名的为全路径,/RegistServlet为相对路径,是相对于某个请求去访问RegistServlet的。

二,1、因为你是把你的项目发布到tomcat中去了,上传后,也是上传到tomcat中的文件夹中,而out中是你tomcat启动后的发布路径。即,out;里边显示的是你发布后产生的

2、String path=this.getServletContext().getRealPath("/upload");  这个是获取你发布的项目的真实路径,和out文件夹里的地址是一致的,

三、上边的是重定向,重定向要写全路径,下边的是转发, 是相对于这个工程进行转发,是写的相对路径。

客户端路径时,应该写全路径名,并且前边加 /项目名。。。即/加项目名/**.jsp

在服务器端访问的时候,重定向时写全路径,即/加项目名/**.jsp

在服务器端访问的时候,转发时写相对路径,即/**.jsp 和**.jsp都可以。是基于这个请求进行转发的。

如果我的回答解决了你的问题,请采纳,祝学习愉快.

  • 攻下这座城 提问者 #1
    全路径不是http://localhost:8080/demo1/LoginServlet吗,/demo1/LoginServlet不是相对http://localhost:8080吗,
    2018-08-12 14:09:04
  • 攻下这座城 提问者 #2
    因为提交表单的是时候我看过两种写法 1.String basePath=request.getScheme()+":"+"//"+request.getServerName()+":"+request.getServerPort()+request.getContextPath(); <form action="<%=basePath%>/FoodAddServlet" method="post" enctype="multipart/form-data"> 2.<form action="/demo1/FoodAddServlet" method="post" enctype="multipart/form-data"> 所以我认为全路径是http://localhost:8080/demo1/LoginServlet
    2018-08-12 17:45:26
  • 好帮手慕阿莹 回复 提问者 攻下这座城 #3
    同学理解的对的,之前老师理解错了同学的意思,http://localhost:8080/demo1/LoginServlet 是全路径,/demo1/LoginServlet是相对http://localhost:8080的,是相对路径。重定向的时候,会自动把http://localhost:8080拼到/demo1/RegistServlet前边。
    2018-08-13 11:20:33
提问者 攻下这座城 2018-08-12 09:02:59

http://img1.sycdn.imooc.com//climg/5b6f83400001d0c519201030.jpg

我项目名为demo1 所有servlet的对外访问路径为该servlet的名字。

  1. 老师看上面的图片,为什么表单这里上传的路径为/demo1/RegistServlet,而不是直接写/RegistServlet?(直接写成/RegistServlet好像不行),

  2. /demo1/RegistServlet 和/RegistServlet都是相对路径吗?




二.  

http://img1.sycdn.imooc.com//climg/5b6f84c0000171be10600378.jpghttp://img1.sycdn.imooc.com//climg/5b6f84c0000144f312130296.jpg

http://img1.sycdn.imooc.com//climg/5b6f84c70001813b19201030.jpg

  1. 老师这里图片上创的路径为什么不是,我项目下的upload文件夹,而是out输出目录下的文件夹。

  2. String path=this.getServletContext().getRealPath("/upload"); 这个代码指的地址是我out输出文件夹下的upload文件夹吗?为什么呢?



三。http://img1.sycdn.imooc.com//climg/5b6f86120001e6b119201030.jpg

  1. 这张图片上面的是/demo1/success.jsp加了工程名的,下面的直接是/login.jsp 两个都可以跳转,

而且我原来跳转到jsp页面直接写login.jsp,没加斜杠,所以这里斜杠加与不加有什么区别

/demo1/success.jsp与/login.jsp又有什么区别,


请老师解释清楚一点,现在关于地址,我都不知道该怎么写了

好帮手慕阿莹 2018-08-12 00:38:43

同学的工程名是demo1么?LoginServlet这个Servlet同学配置的对外访问路径是什么呢?

在eclipse中,一般是项目名加对外访问路径,

例如你的项目工程名为dome1,你的对外访问路径为/LoginServlet(你注解中或web.xml中配置的)

http://localhost:8080/demo1/LoginServlet

在idea中,如果你的项目发布路径为/,直接在8080后边跟对外访问路径即可。

例如:

http://localhost:8080/LoginServlet

如果我的回答解决了你的问题,请采纳,祝学习愉快.

  • 提问者 攻下这座城 #1
    老师其实我的意思是,关于路径的问题我没有弄明白,好吧是混淆完了
    2018-08-12 09:02:46
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师