你的位置:首页 > Java教程

[Java教程]JAVA JSP笔记


一半ad一、jsp加载项目中资源图片

     如果直接将静态页面写的代码copy到jsp中,你会发现图片都无法加载。

       获取代码:

       String path = request.getContextPath();

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

 

       asd

 

 

二、Servlet获取IP遇到的bug

      我是在mac os系统上开发遇到的这个bug,windows上有没这个问题我不知道。

       获取用户ip代码:

 String s = request.getHeader("X-Forwarded-For");  	  if (s == null || s.length() == 0 || "unknown".equalsIgnoreCase(s))  	    s = request.getHeader("Proxy-Client-IP");  	  if (s == null || s.length() == 0 || "unknown".equalsIgnoreCase(s))  	    s = request.getHeader("WL-Proxy-Client-IP");  	  if (s == null || s.length() == 0 || "unknown".equalsIgnoreCase(s))  	    s = request.getHeader("HTTP_CLIENT_IP");  	  if (s == null || s.length() == 0 || "unknown".equalsIgnoreCase(s))  	    s = request.getHeader("HTTP_X_FORWARDED_FOR");  	  if (s == null || s.length() == 0 || "unknown".equalsIgnoreCase(s))  	    s = request.getRemoteAddr();  	  if ("127.0.0.1".equals(s) || "0:0:0:0:0:0:0:1".equals(s))  	    try {  	      s = InetAddress.getLocalHost().getHostAddress();  	    }  	    catch (UnknownHostException unknownhostexception) {  	    }  	 

   当前面的判断都为空时,进入最后一个if,项目就蹦了,错误提示-->

if ("127.0.0.1".equals(s) || "0:0:0:0:0:0:0:1".equals(s))  	    try {  	      s = InetAddress.getLocalHost().getHostAddress();  	    }  	    catch (UnknownHostException unknownhostexception) {  	    }

 this web application instance has been stopped already. Could not load [java.net.InetAddress].

解决方法:

        打开apache-tomcat文件夹---->打开conf文件夹---->打开server.

          <Context path="/Servlet" docBase="/Servlet" debug="0" reloadable="true"/>

  

 

三、  Ajax请求servlet时报一个错

   报这个错是接口不支持ajax的请求方式,将get和post都增加到serlvet中,如果只在get中写代码,那么post中就调用get方法,如果只在post中写代码,那么久在get中调用post。

上面的说明我的代码写在了doGet中,出于安全考虑,如果稍微zhong yao de jie kou,我们应该选择只开放post接口,因为get方式的接口,可以直接将请求参数拼接到url上然后通过浏览器访问这样相对来说不安全。