request.getContextPath()返回值问题

转自:http://blog.sina.com.cn/s/blog_6cbe0cff0101j6jl.html

request.getContextPath()是在开发Web项目时,经常用到的方法,其作用是获取当前的系统路径。

    当使用Tomcat作为Web服务器,项目一般部署在Tomcat下的webapps的目录下。具体来说主要用两种部署的路径:

    一是将web项目中的webRoot下的文件直接拷贝到webapps/ROOT下(删除ROOT下的原有文件);

    另一中方法在Tomcat下的webapps中创建以项目名称命名(当然也可以用其他的名称)的文件夹,并将webRoot下的文件直接拷贝到该文件夹下。

    对于第一部署方法,request.getContextPath()的返回值为空(即:"",中间无空格,注意区分null)。

    对于第二部署方法,其返回值为:/创建的文件夹的名称。

   

    另外,对于SmartUpload.downloadfile()方法,其文件名参数中的路径部分是一个相对路径,并不包含由request.getContextPath()函数读取的部分,而仅仅包含该路径下的路径。

getContextPath效果

2007年07月13日 星期五 下午 01:11

 

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

path IS: /jspSmartUpLoad

basePath IS: http://yangm1203.oicp.net:8080/jspSmartUpLoad/

request.getScheme() IS: http

request.getServerName() IS: yangm1203.oicp.net

request.getServerPort() IS: 8080

 

 

idea中设置当前项目的目录:

现在设置的是test,相当于把项目部署到了webapps下的test目录下,如果不设置,默认是/,就是ROOT目录下

现在访问的路径就应该是:losthost:8080/test/xxxxx

转载于:https://www.cnblogs.com/stAr-1/p/7453931.html

package com.test.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.test.bean.Cart; import com.test.dao.CartDao; /** * Servlet implementation class DelCartServlet */ @WebServlet("/Servlet/DelCartServlet") public class DelCartServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public DelCartServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); response.setHeader("Content-type","text/html;charset=utf-8") ; String gid=request.getParameter("gid"); if(gid!=null) { HttpSession session=request.getSession(); Cart cart=(Cart)session.getAttribute("cart"); if(cart!=null) { CartDao cartdao=new CartDao(); cartdao.delGoods(cart, Integer.parseInt(gid)); session.setAttribute("cart", cart); response.getWriter().println("删除成功"); }else { response.getWriter().println("删除失败"); } }else { response.getWriter().println("参数不正确"); } response.getWriter().println("<a href='"+request.getContextPath()+"/cart.jsp'>查看购物车<a>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } } 修改删除功能,在购物车物品数量大于1的情况下点击“删除”时减少1个,等于1时删除此项商品;
06-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值