1.文件文档的对应部分
这是我自己的文件分布,后面可以和一些配置文件的路径对应,可以了解哪些文件应该怎么配置
添加注解时@WebServlet("/*****")
一定要加“ / ”! !
2.配置文件问题
入门配置只需要配置最主要的就可以了,需要注意一下servlet驱动包时最好配上<scope>标签,不然后面可能会有报错
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<!-- <configuration>
<path>/xxx</path>
</configuration>-->
</plugin>
</plugins>
</build>
//如果不想在web项目里面配置tomcat的话,在pom里面添加这个插件就可以直接右键运行
//跑了不用那么麻烦
再然后就是在navicat中可以查看你现在的MYSQl版本,对后面配置文件可能会有点影响,但也不一定一定有影响,有的设备版本不匹配一样可以跑,mysql-connection-java的版本最好和mysql版本一致。例如我的就是直接配置对应版本了,但这里要注意,5和8版本的驱动语句并不一样,5版本是com.mysql.jdbc.Driver,8版本的是com.mysql.cj.jdbc.Driver,8版本及以后的url最好还是加上时区语句
下面新手极易出错的环节,名称配置一定不要出错,如果有现成的最好复制下来,其中的db.properties我也已经复制出来了,不过这个db文件可加可不加,看心情,因为每个人错的都可能不一样,所以如果报错了就加上也没什么事。
#数据库驱动
driver=com.mysql.jdbc.Driver
#数据库连接
url=jdbc:mysql://localhost:3306/dbone?useUnicode=true&characterEncoding=utf8
#数据库用户名
username=root
#数据库密码
password=123456
#数据库连接池初始连接数
initialSize=3
#数据库连接池最连接线程数
maxActive=5
mybatis.xml的配置
<?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>
<!-- 元素允许在主配置文件之外提供一个properties格式对应文件,从而使得主配置文件更加通用。这样对部署非常有用 -->
<!-- <properties resource="db.properties"></properties>-->
<typeAliases>
<typeAlias alias="user" type="liujiankai.zhuce.pojo.User"/>
</typeAliases>
//设置别名,一定要放在properties下面
<!-- 配置数据源相关的信息 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/dbone?userSSL=false&useServerPrepStmts=true"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>//这四个name的内容一定不可以改变
//书写的时候一定要注意
//url后面一定要跟自己对应的数据库名字,比如我的是dbone,你们的就可能不是,后面的可以先不加,如果出错了再加。idea链接数据库时也要写对应的
</dataSource>
</environment>
</environments>
<!-- 映射文件 -->
<mappers>
<mapper resource="liujiankai/zhuce/mapper/UserMapper.xml"/>
</mappers>
</configuration>
然后就是对应的xml文件和接口的对应问题,想方便点的可以直接放在同一个包下,但我更提倡这样,注意写resources不要使用" . "来分包,使用/来分包.
3.form表单提交,及接口设置
action对应的是项目名字和你要提交的servlet类,要使用/来分隔
web.xml里面的需要配备的servlet对应的分别是action中的路径,通过<servlet-mapping>去寻找<servlet>所以两个名字需要一样,最后在找到你所创建的Servlet类
SQl语句不提示的,点这个灯泡,导入对应的sql语句类型就行了,如果搜索不到对应的表名,可以在旁边的datebase链接数据库,如果test后连不上,可能是时区不对
4,登录注册页面的报错导致访问页面报http500
报错这个事忙活了好久,每次报错的内容都不一样,有几个典型我浅说一下
(一)### Error building SqlSession. ### The error may exist in SQL Mapper Configuration
大部分都是mapper.xml文件里面的namespace或者其他小细节没注意到,也可能是因为是配置数据库管理方式时没有写type值,加上JDBC就好了,在提醒一遍,一定要看看自己对应的名称什么的有没有写错,别因为这费很大劲。
(二)Error querying database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
这个有的milliseconds值为0的就可以直接在URL后面加上那一段时区语句即可
(三)Servlet.service() for servlet [userServlet] in context with path [/rbps7] threw exception
一般就是web.xm里面的Servlet标签没有查好,再回头看看有没有写错,有没有对应,网上也有博主说把utf-8改为utf8就好了,不过我改了没啥用,有想改的可以改改试试
5.总结
每个人遇到情况也不太相同,最主要的还是看浏览器报错,我这也只是给你个模板让你知道哪里该对哪里,不过这些网上也都搜得到,如果哪里不对或者需要补充可以评论出来,因为我也是第一次写,希望大家多多指教