JAVA JSP笔记
本人开发的开发者技术变现资源聚集地,大家支持下,下面是网址
https://www.baiydu.com
一、jsp加载项目中资源图片
如果直接将静态页面写的代码copy到jsp中,你会发现图片都无法加载。
获取代码:
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
asd
<%=basePath%>/Icons/VerifyCode.png
二、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.xml文件--><Host>节点下增加
<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上然后通过浏览器访问这样相对来说不安全。
本人创业做的一款androidApp, 下载量已经有2000多万,各种当前热门的网络手机奖励红包全部集成,另外还有热门电影和淘宝高额优惠券!很适合各类型的用户。
JAVA JSP笔记的更多相关文章
- [Java] JSP笔记 - 自定义标签
自定义标签的创建步骤: 自定义标签的四大功能: 自定义标签的类结构: 在 1.0 中呢, 可以将 <body-content> 的值设置为 JSP, 2.0中则不允许在自定义标签体中出现j ...
- [Java] JSP笔记 - Listener 监听器
Java Web 开发时,可以使用 Listener 来监听来监听一些事件,从而实现一些功能.实际上这个监听器,原理就是 Delphi 中大家常用的各种事件. 1. 那么,监听器的主要用途用哪些呢: ...
- [Java] JSP笔记 - EL、JSTL 常用标签
一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...
- [Java] JSP笔记 - Filter 过滤器
一.什么是Web过滤器 Servlet API 很久以前就已成为企业应用开发的基石,而 Servlet 过滤器则是对 J2EE 家族的相对较新的补充. Servlet 过滤器是可插入的 Web 组件, ...
- [Java] JSP笔记 - Java Bean
一. Java Bean 是什么? Java Bean 其实就是一个符合特定规则的 Java Class.这些规则包括: 使用 public 声明的公用类 属性使用public 的get,set方法访 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 瘋耔java语言笔记
一◐ java概述 1.1 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- Java学习笔记之---Servlet
Java学习笔记之---Servlet (一)如何实现Servlet 1.实现javax.servlet.Servlet接口: 2.继承javax.servlet.GenericServlet类: 3 ...
随机推荐
- Html.DropDownLis绑定数据库
效果: 方法一: View: <div class="col-md-md-4"> <div class="input-group"> & ...
- error C4430:missing type specifier 解决错误
错误 3 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int ...
- Android之SAX解析XML
一.SAX解析方法介绍 SAX(Simple API for XML)是一个解析速度快并且占用内存少的XML解析器,非常适合用于Android等移动设备. SAX解析器是一种基于事件的解析器,事件驱动 ...
- maven 快照
大型应用软件一般由多个模块组成,一般它是多个团队开发同一个应用程序的不同模块,这是比较常见的场景.例如,一个团队正在对应用程序的应用程序,用户界面项目(app-ui.jar:1.0) 的前端进行开发, ...
- VS2015 Git 源码管理工具简单入门
1.VS Git插件 1.1 环境 VS2015+GitLab 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Meger) 获取 ...
- exp/imp 与 expdp/impdp 区别
在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间.oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间,而且文件也 ...
- osi(open system interconnection)模型的通俗理解
OSI模型的理解: 以你和你女朋友以书信的方式进行通信为例. 1.物理层:运输工具,比如火车.汽车. 2.数据链路层:相当于货物核对单,表明里面有些什么东西,接受的时候确认一下是否正确(CRC检验). ...
- Java集合---ConcurrentHashMap原理分析
集合是编程中最常用的数据结构.而谈到并发,几乎总是离不开集合这类高级数据结构的支持.比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap).这篇文章主 ...
- [转] STM32各种时钟的区别
[原创]:http://m.oschina.net/blog/129357 我在原创的基础又从另一位博主处引用了一些内容. 时钟系统是处理器的核心,所以在学习STM32所有外设之前,认真学习时钟系统是 ...
- C# 深拷贝的具体代码的封装与调用
先封装下实现方法: public class DeepClone { public static object CopyObject(Object obj) { if (obj == null) { ...