
JavaWeb基础
HeatDeath
Learn by doing!
展开
-
Servlet 是线程安全的吗?
1、Servlet 默认是使用单例模式创建的2、多个线程同时请求同一个 servlet 的时候,将会并发的调用 service() 方法,如果 servlet 中存在实例变量,那么将可能会引发线程安全问题3、综上,servlet 不是线程安全的参考资料:1、Java面试题:Servlet是线程安全的吗? https://www.cnblogs.com/chanshuyi/p/...原创 2018-03-28 00:41:57 · 1928 阅读 · 0 评论 -
使用 RestTemplate 访问 Restful API 的方法
private RestTemplate restTemplate = new RestTemplate(); public boolean validAccess(String feature, String userName) { String url = upmUrl; ResponseEntity<String>...原创 2018-02-07 15:14:45 · 1537 阅读 · 0 评论 -
代码结构中 Dao,Service,Controller,Util,Model 的含义
代码结构中Dao,Service,Controller,Util,Model是什么意思,为什么划分? https://www.zhihu.com/question/58410621DAO = Data Access Object = 数据存取对象Service = 服务Controller = 控制器Util = 工具Model = 模型首先,一个代码是不是有完善...转载 2018-02-22 15:26:24 · 1440 阅读 · 0 评论 -
Java 中的 JavaBeans、POJO、VO、DTO 之间的区别
JavaBeansJavaBean 是一个遵循 Sun 定义的 JavaBeans 约定的类。维基百科对 JavaBeans 是什么进行了很好的总结:JavaBeans是可重用的Java软件组件,可以在构建器工具中直观地操作。实际上,它们是用符合特定约定的Java编程语言编写的类。它们用于将许多对象封装到单个对象(bean)中,以便它们可以作为单个bean对象而不是多个单独对象传递...原创 2018-02-22 11:58:49 · 1120 阅读 · 0 评论 -
java.lang.NoSuchFieldError: INSTANCE
自己来结贴,原因是,在tomcat里,同名不同版本的jar包,默认加载版本低的。我项目里有两个httpclient jar包。一个4.3.4 另一个是4.1.x。所以加载了4.1的,而我要用的是4.3的。java.lang.NoSuchFieldError: INSTANCE 错误 https://www.oschina.net/question/1419305_2190091...原创 2018-03-01 14:29:53 · 4950 阅读 · 0 评论 -
NoClassDefFoundError: org/apache/http/ssl/SSLContexts
添加依赖接口解决 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <ve...原创 2018-03-01 13:58:40 · 7396 阅读 · 1 评论 -
request.getParameter()、request.getInputStream()和request.getReader() 之间的区别
1、http://robert-liu.iteye.com/blog/7135682、request.getParameter() 、 request.getInputStream()和request.getReader() 使用体会http://blog.youkuaiyun.com/clam_clam/article/details/65705393、http://www.cnblogs.co...原创 2018-03-08 21:18:50 · 1012 阅读 · 0 评论 -
使用 SpringMail +163 邮箱 发送邮件的方法
参考资料:1、163邮箱如何开启POP3/SMTP/IMAP服务? http://help.163.com/10/0312/13/61J0LI3200752CLQ.html2、Spring 邮件服务:Spring+Javamail+Spring SMTP Mail+Maven http://blog.youkuaiyun.com/osaymissyou0/article/details/48681...原创 2018-02-27 21:49:55 · 2325 阅读 · 0 评论 -
使用 Spring Task 定时执行指定的任务
使用注解启动的资料如下:1、使用spring @Scheduled注解执行定时任务、 http://blog.youkuaiyun.com/sd4000784/article/details/77459472、spring task 定时任务 注解方式 demo http://blog.youkuaiyun.com/eunyeon/article/details/527943083、spring sche...原创 2018-02-27 21:44:16 · 1658 阅读 · 0 评论 -
Java 使用 Velocity 发送邮件中文内容乱码问题的解决办法
1 spring中整合Velocity的配置文件需要指定UTF-8<!-- velocityEngine 模板 配置开始...--> <bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean"> <!-- <pr...原创 2018-02-27 21:28:27 · 703 阅读 · 0 评论 -
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
Log4j, Spring MVC, No appenders could be found for loggerhttps://stackoverflow.com/questions/9691456/log4j-spring-mvc-no-appenders-could-be-found-for-loggerlog4j:WARN No appenders could be found...原创 2018-02-23 17:51:58 · 3184 阅读 · 0 评论 -
解决 Log4jConfigListener 过期问题
spring建议用log4j2 来替换这个类。以下为官方原文Deprecated. as of Spring 4.2.1, in favor of Apache Log4j 2 (following Apache's EOL declaration for log4j 1.x)@Deprecatedpublic class Log4jConfigListenerextends j...原创 2018-02-23 17:56:09 · 3968 阅读 · 3 评论 -
noHandlerFound:org.springframework.web.servlet.DispatcherServlet.noHandlerFound
DispatcherServlet.java(noHandlerFound:org.springframework.web.servlet.DispatcherServlet.noHandlerFound(DispatcherServlet.java:1147)) - No mapping found for HTTP request with URI [/WEB-INF/jsp/hello...原创 2018-02-23 18:50:49 · 1326 阅读 · 0 评论 -
HttpServletRequest常用获取URL的方法
1、request.getRequestURL()返回的是完整的url,包括Http协议,端口号,servlet名字和映射路径,但它不包含请求参数。 2、request.getRequestURI()得到的是request URL的部分值,并且web容器没有decode过的3、request.getContextPath() 返回 the context of the reque...转载 2018-02-25 16:24:02 · 1385 阅读 · 0 评论 -
web.xml 的 url-pattern / 和 /* 的区别
①<url-pattern>/</url-pattern> 会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url假设现在请求 localhost:8080/login ,请求到 Controller 下的 /login 跳转到相应的视图 login.jsp ②<url-pattern>/*</ur...原创 2018-02-25 16:18:44 · 824 阅读 · 0 评论 -
Could not read document: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token
我在使用 RestTemplate 请求 RESTful API ,获取服务端响应的时候出现了这样的一个错误Could not read document: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token最开始的时候是这样写的ResponseEntity<String>...原创 2018-02-25 16:01:56 · 16415 阅读 · 0 评论 -
Spring interceptor vs servlet filter 两者之间的区别
SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系Spring interceptor vs servlet filter一 简介(1)过滤器:依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的...转载 2018-02-25 15:37:08 · 530 阅读 · 0 评论 -
forward( ) 和 sendRedirect()两者之间的区别
两者的区别:1**.redirect** 方式可以跨应用访问,forward 只能在同一个应用中跳转。2.forward 客户端访问服务器,服务器找到要跳转的相应URL并执行返回给客户端。客户端的地址栏显示的是原始URL。redirect 客户端访问服务器,服务器找到要跳转的URL并将URL发给客户端,再由客户端对新的URL重新发送请求。客户端的地址栏显示的是第二次请求的URL...原创 2018-02-24 20:04:11 · 556 阅读 · 0 评论 -
RestTemplate 的配置方法与基本使用方法
xml 文件中的配置如下(基于 HttpClient): <!-- 基于 HttpClient 的 RestTemplate 配置 --> <!-- begin --> <bean id="pollingConnectionManager" class="org.apache.http.impl.conn.PoolingHttpClien...原创 2018-02-24 19:56:45 · 2438 阅读 · 0 评论 -
使用 RestTemplate 发送 post 请求后返回 json 中 ":" 变成 "=" 的解决办法
打算使用 RestTemplate 替换别人封装的 HttpClient ,但是在测试的过程中发现了一个问题。发现返回的 json 的格式中,HttpClient 返回的 json 是 正常的冒号,而 RestTemplate 返回的 json 却是 异常的等号。解决办法将 Object.class替换成 JSONObject.class即可...原创 2018-02-24 14:57:14 · 6204 阅读 · 0 评论 -
使用 RestTemplate 发送 post 请求传递参数
注意:post 请求的参数不能用 HashMap 封装,应该使用 MultiValueMap写法参考HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);MultiValueMap<String, String> m...原创 2018-02-24 14:26:43 · 39147 阅读 · 3 评论 -
Velocity 中遍历 List 和 Map 的方法
1、Velocity遍历List和Map http://blog.youkuaiyun.com/daryl715/article/details/15879512、Velocity——#foreach指令 $velocityCount http://blog.youkuaiyun.com/lululove19870526/article/details/40744135原创 2018-03-02 19:14:48 · 2197 阅读 · 0 评论 -
使用 Spring 的 JAVA Mail 发送 HTML 邮件
具体的方法参见下面的资料参考资料:1、使用Spring的JAVA Mail支持简化邮件发送 http://www.cnblogs.com/codeplus/archive/2011/11/03/2232893.html2、How do I send HTML email in Spring MVC?https://stackoverflow.com/questions/52898...原创 2018-02-27 19:43:56 · 1006 阅读 · 0 评论 -
使用 163 邮箱发送 javamail 邮件时的错误提示及原因
(1)553 Requested action not taken: Local user only SMTP类型的机器只允许发信人是本站用户; 用户名或密码不正确,并且需要设置如下属性 props.put("mail.smtp.auth", "true");(2)553 Mail from must equal authorized user 发信人地...转载 2018-02-27 19:42:03 · 4944 阅读 · 0 评论 -
SpringEmail 使用 163 邮箱发送邮件报错 MailAuthenticationException: Authentication failed
Exception in thread “main” org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException: 535 Error: authentication faile...原创 2018-02-27 16:07:44 · 1333 阅读 · 0 评论 -
EL 表达式获取 对象私有属性 方法
EL表达式获取对象属性的原理是这样的: 以表达式${user.name}为例 EL表达式会根据name去User类里寻找这个name的get方法,此时会自动把name首字母大写并加上get前缀,一旦找到与之匹配的方法,El表达式就会认为这就是要访问的属性,并返回属性的值。所以,想要通过EL表达式获取对象属性的值,那么这个属性就必须有与之对应的get方法。其实你要了解EL表达式的运行原理,它其实后原创 2017-10-21 14:15:42 · 1812 阅读 · 0 评论 -
JavaWeb 常见术语 Wiki(持续更新)
POJOPOJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。DAODAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口。原创 2017-10-24 16:07:01 · 643 阅读 · 0 评论 -
关于 web.xml 的说明
http://blog.youkuaiyun.com/believejava/article/details/43229361一、 Web.xml详解:(一) web.xml加载过程(步骤)首先简单说一下,web.xml的加载过程。当我们去启动一个WEB项目时,容器包括(JBoss、Tomcat等)首先会读取项目web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目转载 2017-10-29 18:40:25 · 493 阅读 · 0 评论 -
JavaWeb基础(1)—— 使用 JDBC 连接 MySQL
package db;import java.sql.*;public class DBUtil { private static final String URL="jdbc:mysql://localhost:3306/jdbc_learn?useUnicode=true&characterEncoding=utf-8"; private static final Stri原创 2017-10-19 18:07:40 · 438 阅读 · 0 评论 -
JavaWeb基础(2)—— JDBC 中 Statement 与 PrepareStatement 的区别
浅谈 JDBC 中 CreateStatement 和 PrepareStatement 的区别与优劣。假设有一个数据库,里面有一个 user 表,有 username , userpwd 两列。我们要查出这两列的数据。这是使用 CreateStatement 方法创建了 stmt 对象,再通过他查询的一部分语句片段。String sql = "select * from users where转载 2017-10-19 18:15:25 · 553 阅读 · 0 评论 -
JavaWeb基础(3)—— JavaWeb 开发基础知识
JavaWeb学习总结(一)——JavaWeb开发入门 http://www.cnblogs.com/xdp-gacl/p/3729033.htmlJavaWeb学习总结(二)——Tomcat服务器学习和使用(一) http://www.cnblogs.com/xdp-gacl/p/3734395.htmlJavaWeb学习总结(三)——Tomcat服务器学习和使用(二) http://www转载 2017-12-02 11:09:38 · 696 阅读 · 0 评论 -
JavaWeb基础(4)—— 浅析 Servlet 的本质与工作原理
维基百科中对于 Servlet 的定义Servlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指 Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用原创 2017-12-02 15:47:11 · 994 阅读 · 0 评论 -
JavaWeb基础(5)—— 浅析 Servlet 与 JSP 两者之间的区别
维基百科中 JSP 的定义JSP(全称JavaServer Pages)是一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP被JSP编译器编译成Java Serv原创 2017-12-02 15:59:16 · 1984 阅读 · 0 评论 -
JavaWeb基础(6)—— ServletContext 与 ServletConfig
ServletContextServletContext 定义了一组方法, 被 Servlet 用来与 Web 容器通信。例如写日志,转发请求。每一个 Web 应用程序含有一个Context,被Web应用内的各个 Servlet 共享。因为Context可以用来保存资源并且共享,所以ServletContext 的最大应用是Web缓存—-把不经常更改的内容读入内存,所以服务器响应请求的时候就不需要原创 2017-12-02 17:16:52 · 713 阅读 · 0 评论 -
org.apache.jasper.JasperException Unterminated [<c:forEach] tag 错误的解决办法
org.apache.jasper.JasperException: /addBook.jsp (line: [58], column: [0]) Unterminated [<c:forEach] tag org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42) o原创 2017-10-21 11:19:11 · 7193 阅读 · 0 评论 -
JavaWeb 的发展脉络
作者:Intopass 链接:https://www.zhihu.com/question/25654738/answer/31302541 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。1 静态网页时代①静态网页时代本来网站都是一个个静态HTML组成的,或许这些网页还是用Dreamweaver写的,但是这样的静态页面显然不能满足我们,很快我们就迎来了动态网页转载 2017-12-05 09:09:18 · 542 阅读 · 0 评论 -
JavaWeb基础(8)—— Servlet 和 HttpServlet 的区别
1 ServletServlet(Server Applet),全称Java Servlet。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指 Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类。2 HttpServlet HttpServlet 指能够原创 2018-01-14 16:04:16 · 9140 阅读 · 2 评论 -
Spring 报错 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of typ
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [cn.appsys.service.DevUserService] found for dependency: expected at least 1 bean which qualifies as autowir原创 2018-02-06 15:58:57 · 1357 阅读 · 0 评论 -
本地运行的 JavaWeb 程序设置 cookie domain 的方法
java.lang.IllegalArgumentException: An invalid domain [127.0.0.1:8888] was specified for this cookie我在程序中设置了用户 cookie 的 domain 为 127.0.0.1:8888,然而在运行的时候报错了,报错如上。在 stackoverflow 上查了一下当工作在 local原创 2018-02-05 14:46:47 · 5060 阅读 · 1 评论 -
Java Servlet 中 FilterConfig 的用法
用户在配置filter时,可以使用为 filter 配置一些初始化参数,当 web 容器实例化 Filter 对象,调用其 init 方法时,会把封装了 filter 初始化参数的 filterConfig 对象传递进来。因此 FilterConfig 可以获取部署描述符文件(web.xml)中分配的过滤器初始化参数。在实现了 Filter 接口的 XXXFilter 类的 init()原创 2018-01-27 17:30:17 · 2860 阅读 · 0 评论