和java有关的说说_和java有关的小问题

1.MySql数据库表插入中文数据的时候,显示❓

前提:1.已经正确设置数据库的编码格式utf8

2.能连接数据库

3.sql语句没有问题

解决办法:

如果使用template.update方式,在url后面添加上数据库的默认编码格式 url=jdbc:mysql://localhost:3306/day17?characterEncoding=utf8

2maven项目启动过程中的错误

报错提示

错误关键代码

javax.servlet.ServletException: Class com.itcsl.servlet.MyServlet is not a Servlet

04f9b70d4c4acc34229df5d7f6237428.png

解决办法:

d743cc15b7d216d517d169725a121ce7.png

报错提示

不再支持源选项 5。请使用 7 或更高版本。

不再支持目标选项 5。请使用 7 或更高版本。

9d9e91acb2d7cdb82ac39fd90be01256.png

解决办法

org.apache.tomcat.maven

tomcat7-maven-plugin

2.2

8888

org.apache.maven.plugins

maven-compiler-plugin

1.8

1.8

UTF-8

3.控制台报错:Property 'dataSource' is required

解决方案:

java.lang.IllegalArgumentException: Property ‘dataSource’ is required 说的是DataSource是必须的

在dao使用的时候dataSource是空的.

检查JdbcUtils工具类 ,发现使用类加载器加载druid.properties文件,那么使用类加载器的话因为本身就是从classpath下获取.所以不需要加 /

4.控制台报错:org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0

解决方案:

错误信息

org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0

at org.springframework.dao.support.DataAccessUtils.requiredSingleResult(DataAccessUtils.java:71)

at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:812)

方案

queryForObject无记录时会抛出异常,而对于query()list的类型不会抛出此异常。解决方法就是捕获这个异常然后在catch中返回null就可以。修改代码如下:

@Override

public User findByUsername(String username) {

User user=null;

try{

//1.定义sql

String sql="select * from tab_user where username= ?";

//2.执行sql

user= template.queryForObject(sql, new BeanPropertyRowMapper(User.class), username);

}catch (Exception e){

return null;

}

}

5.java.lang.NoSuchMethodException

没有这样的方法

问题

java.lang.NoSuchMethodException: cn.itcast.travel.web.servlet.UserServlet.add(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)

at java.base/java.lang.Class.getMethod(Class.java:2113)

at cn.itcast.travel.web.servlet.BaseServlet.service(BaseServlet.java:31)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at cn.itcast.travel.web.filter.CharchaterFilter.doFilter(CharchaterFilter.java:30)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

at java.base/java.lang.Thread.run(Thread.java:835)

请求的路径/travel//user/find

方法名称find

cn.itcast.travel.web.servlet.UserServlet@304b3938

java.lang.NoSuchMethodException: cn.itcast.travel.web.servlet.UserServlet.find(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)

at java.base/java.lang.Class.getMethod(Class.java:2113)

at cn.itcast.travel.web.servlet.BaseServlet.service(BaseServlet.java:31)

解决方案1

492eefe37dc14c6caef3b6aeabf6b53f.png

解决方案2

更改方法的修饰符为public

public void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

System.out.println("UserServlet的add方法....");

}

public void find(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

System.out.println("UserServlet的find方法....");

}

6.Idea控制台中文乱码解决:-Dfile.encoding=gb2312

b679f6ae1cbc1ba92b560342c5e2c088.png

7.解决tomcat7中的中文参数乱码

rname=new String(rname.getBytes("iso-8859-1"),"utf-8");

8.IntelliJ idea设置单行行首注释去掉多余空格

问题:java代码使用快捷键"ctrl+/"添加行注释时,发现出现多余空格:

155b03ed6fdfc933e584906726a07f55.png

解决:

打开idea:file>settings>Editor>code style>java>勾选use tab character

表示tab缩进不使用空格而使用制表符,如果使用空格就会出现上述多余空格问题。

最后,格式化下代码:"ctrl+alt+L"

0683b4487abd639493c6dbd59bef6aec.png

问题:

86d1b0854e157b69602d772a8ebccb63.png

解决办法:

a19931903c5a1bfa72700e22d61ebcc4.png

问题:

466b02c10465e4adebe8ce6d32c00b3d.png

解决办法:

f918bf99853fb700c3ece47435b50407.png

9maven由于他的约定大于配置,我们之后可以能遇到我们写的配置文件,无法被导出或者生效的问题,

src/main/java

**/*.xml

**/*.properties

false

src/main/resources

**/*.xml

**/*.properties

false

默认为false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值