Java Servlet 中Servlet地址的问题

浏览器中AJAX请求的地址

Servlet 3.1

我们现在使用 eclipse直接建立动态网页工程一般都支持Servlet 3.1。Servlet 3.1 支持使用注解来设置自己的地址。

@WebServlet(
        description = "用来处理用户登陆", 
        urlPatterns = { 
                "/LoginServlet", 
                "/Servlet/LoginServlet"
        }, 
        initParams = { 
                @WebInitParam(name = "userName", value = "NULL", description = "用户名"), 
                @WebInitParam(name = "password", value = "NULL", description = "密码"),
                @WebInitParam(name = "nickName", value = "新用户", description = "用户昵称"), 
        })

如上所示,其中urlPatterns 便是支持设置Servlet的地址,此处地址为相对工程的地址。

例如:服务器为http://localhost:8080 工程名为Test 则完整的地址为

http://localhost:8080/Test/LoginServlet
http://localhost:8080/Test/Servlet/LoginServlet

在AJAX中如何设置地址呢

AJAX中设置地址分为绝对地址和相对地址

和大家通常的思维不同的是!!

var request = new XMLHttpRequest();                                 // 请求器
request.open("post","/Servlet/LoginServlet",true);                  // 设置绝对地址
//实际访问地址为 http://localhost:8080/Servlet/LoginServlet

request.open("post","Servlet/LoginServlet",true);                   // 设置绝对地址
//实际访问地址为 http://localhost:8080/Test/Servlet/LoginServlet

因为这个小问题,我走了不少弯路,这里的路径和程序员通常的思维是不同的。而且,HTTP的路径分隔符和我们程序中的分割符也是不同的,大家从服务器向网页传参的时候记得转变下分隔符。
例如:网页上传了一张图片,服务器需要将路径返回。图片在服务器中的相对路径是\user\pic\a.jpg
但是传回网页后,这个链接就不能用,必须先转换为user/pic/a.jpg 才可以使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值