(二)Springmvc 配置(spring+hibernate+springmvc)
来源:互联网 发布:网络正常下载速度很慢 编辑:程序博客网 时间:2024/05/22 14:34
接前面的内容:
测试框架搭建是否OK
测试路径跳转,映射地址是否正确
前端新建文件夹:jsp,js,image
Jsp文件夹放置jsp页面
Web.xml文件中增加:<welcome-file>index.jsp</welcome-file>
Index.jsp
<%@ page language="java"contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%Stringpath = request.getContextPath();
String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPEhtml PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h5><ahref="<%=basePath%>user/login.do">进入用户管理页</a></h5>
</body>
</html>
Web包下新建:User.java
package com.test.web;
importjavax.servlet.http.HttpServletRequest;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/user")
public class User {
//private String basePath="/jsp";
@RequestMapping("/login")
public String getAllUser(HttpServletRequest request){
System.out.println("*****************************aaaaa");
return "/login";
}
}
Jsp文件夹下新建:login.Jsp
(这里的路径可以直接跳转的原因:spring-mvc.xml配置:视图解析器,前置和后置,可以直接拦截到)
<%@ page language="java"contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%String path = request.getContextPath();
String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPEhtml PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p><ahref="<%=basePath%>book/getAllBook.do">管理书籍</a></p>
</body>
</html>
结果如下:
接下来测试book的前后是否能正常工作:
有以上路径:<p><ahref="<%=basePath%>book/getAllBook.do">管理书籍</a></p>
在web包下建立BookWeb.java
package com.test.web;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.test.manager.BookManager;
@Controller
@RequestMapping("/book")
public classBookWeb {
private StringbasePath="/book/";//前台jsp页面的基本路径
@Resource(name="bookManager")
privateBookManagerbookManager;
@RequestMapping("/getAllBook")
publicString getAllUser(HttpServletRequestrequest){
System.out.println("*****************************getAllBook");
System.out.println("bookManager.getAllBook()--------"+bookManager.getAllBook());
request.setAttribute("bookList",bookManager.getAllBook());
returnbasePath+"book_list";
}
}
在jsp文件夹下新建book文件夹放置book的增删改查
booklist.jsp
<table>
<c:iftest="${!emptybookList }">
<thead>
<tr>
<thdata-options="field:'bookname',width:200">bookname</th>
<thdata-options="field:'auther',width:100">auther</th>
<thdata-options="field:'isbn',width:100">isbn</th>
<thdata-options="field:'price',width:100">price</th>
<thdata-options="field:'stock',width:100">stock</th>
</tr>
</thead>
<c:forEachitems="${bookList }"var="book">
<tr>
<td>${book.bookname }</td>
<td>${book.auther }</td>
<td>${book.isbn }</td>
<td>${book.price }</td>
<td>${book.stock }</td>
</tr>
</c:forEach>
</c:if>
</table>
运行结果:
报错原因:
是在之前将BookDaoImpl 中的Book 写成了小写的book
将BookDaoImpl 中hql 语句中的book 换成Book
String hql ="from book u where u.id=?";
修改BookDaoImpl.java
package com.test.dao;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import com.test.entity.Book;
public class BookDaoImpl implements BookDao{
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@Override
publicBook getBook(String id) {
//TODO Auto-generated method stub
String hql = "from Book u where u.id=?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, id);
return (Book)query.uniqueResult();
}
@Override
publicList<Book> getAllBook() {
//TODO Auto-generated method stub
String hql = "from Book";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
return query.list();
}
@Override
publicvoid addBook(Book book) {
//TODO Auto-generated method stub
sessionFactory.getCurrentSession().save(book);
}
@Override
publicboolean delBook(String id) {
//TODO Auto-generated method stub
String hql = "delete Book u where u.id = ?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, id);
return (query.executeUpdate() > 0);
}
@Override
publicboolean updateBook(Book book) {
//TODO Auto-generated method stub
String hql = "update Book u set u.bookname =?,u.isbn=?,u.price=?,u.stock=? where u.id = ?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, book.getAuther());
query.setString(1, book.getBookname());
query.setString(2, book.getIsbn());
query.setInteger(3, book.getPrice());
query.setInteger(4, book.getStock());
return (query.executeUpdate() > 0);
}
}
重新运行,结果如下:
最后目录结构如下:
- (二)Springmvc 配置(spring+hibernate+springmvc)
- Springmvc 配置(spring+hibernate+springmvc)
- Maven+Spring+SpringMVC+Hibernate+Mina配置(二)
- SpringMVC+Spring+Hibernate配置
- springMVC+spring+hibernate配置
- Spring,SpringMVC,hibernate配置
- Spring + SpringMVC + Hibernate配置
- Spring+hibernate+springmvc 整合(二)
- SpringMVC+Hibernate+Spring整合实例(二)
- SpringMVC+Hibernate+Spring整合实例(二)
- SpringMVC+Hibernate+Spring整合实例(二)
- SpringMVC+Hibernate+Spring整合实例(二)
- SpringMVC+Hibernate+Spring整合实例(二)
- SSH(spring+springMVC+hibernate)配置
- hibernate+spring+springMVC基本配置
- spring+springmvc+hibernate配置解析
- spring+springMVC+hibernate事务配置
- SpringMvc(二)配置SpringMvc
- 167. Two Sum II - Input array is sorted
- LeetCode 400. Nth Digit
- SublimeText自带格式化代码功能 - reindent
- 动规第二天
- css的高级选择器
- (二)Springmvc 配置(spring+hibernate+springmvc)
- html5 开发wapapp时 用到的几个meta标签
- [小技巧]如何让emoji存放到数据库中
- Ruby环境与cocoapods1.1.0
- linux学习总结
- OpenGL 函数 gluLookAt() glScalef() glTranslatef() glRotatef() glFrustum() glPerspective() 的使用
- 通过JDBC访问数据库
- PAT A 1005
- java 实现直接插入排序