properties文件中配置数据源属性
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=
jdbc:mysql://localhost:3306/ssm?useSSL=false
&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL
&useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
jdbc.username=root
jdbc.password=root
记住c3p0是com.mchange包下的 groupId写成了c3p0错误
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
- 修变/删除了依赖一定要再去lib下更新
- 如果pojo类中变量为INTEGER类型 在其他函数传int类型的参数会报错
- 在controller中的函数返回的是jsp的名 如果是重定向
redirct:/父Requsrmapping/重定向方法的requestMapping
关于重定向的连接
方式一:使用ModelAndView
return new ModelAndView(“redirect:/toList”);
这样可以重定向到toList这个方法
方式二:返回String
return "redirect:/ toList "
控制器方法的返回值如果为void
会默认以@ResultMapping(“”)括号中的uri为视图名 返回给视图解析器 造成404 我们根本就没有写这个试图
建立表格 for each填充
头用th 身体用td
<table class="table table-hover table-striped">
<thead>
<tr>
<th>书籍编号</th>
<th>书籍名字</th>
<th>书籍数量</th>
<th>书籍详情</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach var="book" items="${requestScope.get('list')}">
<tr>
<td>${book.getBookID()}</td>
<td>${book.getBookName()}</td>
<td>${book.getBookCounts()}</td>
<td>${book.getDetails()}</td>
</tr>
</c:forEach>
</tbody>
</table>
超链接
<a href="${pageContext.request.contextPath}/book/toUpdateBook?id=${book.getBookID()}">更改</a>
<a href="${pageContext.request.contextPath}/book/del?id=${book.getBookID()}">删除</a>
@RequestMapping("/del")
public String deleBooK( int id)
{
booksService.deletBook(id);
return "redirect:/book/allBook";//回到显示全部里
}
restful风格
<a href="${pageContext.request.contextPath}/book/del/${book.getBookID()}">删除</a>
在函数里
@RequestMapping("/del/{bookId}")
public String deleBooK(@PathVariable("bookId") int id)
{
booksService.deletBook(id);
return "redirect:/book/allBook";//回到显示全部里
}
form表单 提价的input中的name要和action函数形参名相同