Javaweb使用Servlet实现数据库与网页数据传输中的细节问题

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&amp;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.总结

每个人遇到情况也不太相同,最主要的还是看浏览器报错,我这也只是给你个模板让你知道哪里该对哪里,不过这些网上也都搜得到,如果哪里不对或者需要补充可以评论出来,因为我也是第一次写,希望大家多多指教

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值