MyEclipse里jsp basic和advanced template的区别


    做了一个jsp+servlet的小项目,却因为路径问题卡壳了好半天:jsp文件在同样的目录,要接收数据的class也在相同的包,对于两个class,web.xml配置相仿,但是在jsp(s)中,form的action的值就是不一样。

    两个jsp文件的地址:

    http://localhost:8080/FMMS/folder/a.jsp

    http://localhost:8080/FMMS/folder/b.jsp

    两个servlet的访问路径是:

    /folder/AServlet

    /folder/BServlet

    a.jsp里form的action="AServlet"(ok没问题可以访问)

    b.jsp里form的action="/folder/BServlet"(这个可以)

感谢sohu的刨根问底儿栏目组,让我继续对这个问题刨根问底,最终发现了原因:

两个jsp使用了不同的template

basic template 很clear,文件里没什么多余的东西

advanced template 就不一样了,它里边有这么个东西:

<%

String path = request.getContextPath();

String basePath = request.getScheme() + "://"

+ request.getServerName() + ":" + request.getServerPort()

+ path + "/";

%>

 

< base href="<%=basePath%>">

这就是改变路径的罪魁祸首(http://localhost:8080/FMMS/)

你可能感兴趣的:(MyEclipse里jsp basic和advanced template的区别)