- 博客(5)
- 收藏
- 关注
原创 使用注解声明Servlet,却无法访问
使用 @WebServlet("/XXX"); 声明一个servlet。启动浏览器访问后显示失败。 通过查询其他博客得知,问题出在 Web.xml 文件中 标签web-app 的属性 metadata-complete。 当这个属性设置为true时,文件告诉容器,它的描述是完整的,不需要扫描注释。 将属性改为false后重新访问,果然问题解决了。 ...
2020-11-09 22:10:50
1084
1
原创 如何获得注解的值?
如何获得注解的值? 注解的本质就是接口。注解上的属性对应接口中声明的方法。获取注解的值就是获取接口方法的返回值。 @MyAnnotation(name = "hello") public class A { /* * 用@MyAnnotation 注释的一个普通类 A * */ } public class AnnotationNotFoundException extends Exception{ /* * 在目标类上没有找到注解就抛出这个异常 *
2020-08-23 13:08:18
2826
原创 Mybatis-config 找不到 Mapper文件
环境:IDEA 项目目录: Mybatis-config 配置文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environ
2020-08-18 17:18:46
728
1
原创 ReentrantLock与Synchronized的异同
相同: 都是用于协调多线程对共享变量或对象的访问 都是可重入锁,同一线程可多次获得同一个锁 都保证了可见性和互斥性 不同: ReentrantLock可中断,synchronized不可中断 ReentrantLock 需要手动获取和释放锁,synchronized自动获取和释放锁 synchronized 出现异常可以自动释放锁,ReentrantLock 出现异常不会自动释放锁,可能会导致死锁的出现,因此使用ReentrantLock都必须在finally块中手动释放锁。 ReentrantLoc
2020-08-17 17:26:59
186
原创 Servlet和浏览器乱码问题
Servlet向浏览器发送: resp是HttpServletResponse的一个对象。 通过消息头告诉浏览器应该以UTF-8的字符集解析响应文件。 resp.setHeader("Content-Type", "text/html;charset=UTF-8"); //字节流 resp.getOutputStream().write("你好".getBytes(StandardCharsets...
2020-03-16 09:39:26
201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅