KIIllher. 2021-07-22 20:35 采纳率: 0%
浏览 453

IDEA maven web项目 跳转页面报错500

各位好,自己练习ssm基础框架搭建时候,遇到页面跳转500问题。
之前跟着教程写过一个完整的ssm框架CRUD。运行没问题。
后来练习搭建简单SSM框架,测试就出问题。代码和之前写的一摸一样。求解惑

img

自己的工程

img
mapper接口

package com.tsm.dao;

import com.tsm.pojo.Books;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface BookMapper {

    int addBook(Books books);

    int deleteBookById(@Param("bookId")int id);

    int updateBook(Books books);

    Books queryBookById(@Param("bookId")int id);

    List<Books> queryAllBook();
}


mapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.tsm.dao.BookMapper">

    <insert id="addBook" parameterType="books">
        insert into ssmp.books (bookName, bookCounts, detail)
        VALUES (#{bookName}, #{bookCounts}, #{detail});
    </insert>

    <delete id="deleteBookById" parameterType="int">
        delete
        from ssmp.books
        where bookID = #{bookId}
    </delete>

    <update id="updateBook" parameterType="books">
        update ssmp.books
        set bookName=#{bookName},
            bookCounts=#{bookCounts},
            detail=#{detail}
        where bookID = #{bookID};
    </update>

    <select id="queryBookById" resultType="books">
        select *
        from ssmp.books
        where bookID = #{bookId}
    </select>

    <select id="queryAllBook" resultType="books">
        select *
        from ssmp.books
    </select>
</mapper>


mybatis-config.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>

    <typeAliases>
        <package name="com.tsm.pojo"/>
    </typeAliases>

    <mappers>
        <mapper class="com.tsm.dao.BookMapper"/>
    </mappers>

</configuration>

spring-dao.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">


    <context:property-placeholder location="classpath:database.properties"/>


    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}"></property>
        <property name="jdbcUrl" value="${jdbc.url}"></property>
        <property name="user" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>


        <property name="maxPoolSize" value="30"/>
        <property name="minPoolSize" value="10"/>

        <property name="autoCommitOnClose" value="false"/>

        <property name="checkoutTimeout" value="10000"/>

        <property name="acquireRetryAttempts" value="2"/>
    </bean>


    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>

        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    </bean>


    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>

        <property name="basePackage" value="com.tsm.dao"/>
    </bean>

</beans>


controller

package com.tsm.controller;

import com.tsm.pojo.Books;
import com.tsm.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Controller
@RequestMapping("/book")
public class BookController {

    @Autowired
    @Qualifier("BookServiceImpl")
    private BookService bookService;

    @RequestMapping("/allBook")
    public String list(Model model){
        List<Books> list = bookService.queryAllBook();
        model.addAttribute("list",list);
        return "allBook";
    }
}

怎么查都查不到解决方法。

  • 写回答

2条回答 默认 最新

  • CSDN专家-微编程 2021-07-22 21:04
    关注

    很简单啊,当数据库连接不使用的时候,就把该连接重新放到数据池中,方便下次使用调用,但是你却没有,不报500就不正常了
    将你的spring-dao.xml 第11行代码

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    
    

    添加一个属性destroy-method="close"

     <!--destroy-method="close"的作用是当数据库连接不使用的时候,就把该连接重新放到数据池中,方便下次使用调用. -->                      
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" >
    
    
    评论

报告相同问题?

问题事件

  • 修改了问题 7月22日
  • 创建了问题 7月22日

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿