2019独角兽企业重金招聘Python工程师标准>>>

web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"   version="3.1"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- 根据默认配置文件来初始化Spring容器 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class><!-- default: /WEB-INF/applicationContext.xml -->
</listener><!-- 配置spring的用于初始化容器对象的监听器--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:beans.xml</param-value></context-param><!-- 配置请求过滤器,编码格式设为UTF-8,避免中文乱码--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 配置Session --><filter><filter-name>openSession</filter-name><filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class><!-- 请注意,可能出如下错误Write operations are not allowed in read-only mode (FlushMode.MANUAL): --><init-param><param-name>sessionFactoryBeanName</param-name><param-value>sessionFactory</param-value></init-param><init-param><param-name>singleSession</param-name><param-value>true</param-value></init-param><init-param><param-name> flushMode </param-name><param-value>AUTO </param-value></init-param></filter><filter-mapping><filter-name>openSession</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- Struts2 核心拦截器配置--><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
</web-app>
sturts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts  PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><constant value="false" name="struts.enable.DynamicMethodInvocation"/><!--配置为开发模式,一旦文件改动,不需要重启,会立即生效 --><constant name="struts.devMode" value="true" /><!--把主题配置为simple --><constant name="struts.ui.theme" value="simple" /><include file="struts_default.xml"/>
</struts>
struts_default.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts  PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><package name="login" namespace="/"  extends="struts-default"><!--需要将struts-default改为--><action name="book_update" class="com.yanxi.action.BookAction" method="updateBook"><result>/jsp/BookEditForm.jsp</result></action><action name="book_save" class="com.yanxi.action.BookAction" method="saveBook"><result type="redirect">book_list</result></action><action name="book_list" class="com.yanxi.action.BookAction" method="findBooks"><result>/jsp/BookList.jsp</result></action><action name="book_delete" class="com.yanxi.action.BookAction" method="deleteBook"><result type="redirect">book_list</result></action><action name="book_edit" class="com.yanxi.action.BookAction" method="editBook"><result>/jsp/BookEditForm.jsp</result></action></package>
</struts>
beans.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"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd"><context:annotation-config/><!-- 对包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 --><context:component-scan base-package="com.yanxi"/><!-- 导入外部的properties的文件 --><context:property-placeholder location="classpath:jdbc.properties"/><!-- 集成hibernate --><!-- 配置SessionFactory --><bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"><!-- 指定hibernate的配置文件位置 --><property name="configLocation" value="classpath:hibernate.cfg.xml"/><!-- 配置c3p0数据库连接池 --><property name="dataSource"><bean class="com.mchange.v2.c3p0.ComboPooledDataSource"><!-- 数据连接信息 --><property name="jdbcUrl" value="${jdbc.url}"/><property name="driverClass" value="${jdbc.driverClassName}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/><!-- 其他配置 --><!-- 初始化获取三个连接,取值应该在minPoolSize和maxPoolSize之间 --><property name="initialPoolSize" value="3"/><!-- 连接池中保留的最小连接数 --><property name="maxPoolSize" value="3"/><!-- 连接池中保留的最大连接数 --><property name="minPoolSize" value="15"/><!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数 --><property name="acquireIncrement" value="3"/><!-- 控制数据源加载的数量,若maxStatements和maxStatementsPerConnection均为0,则缓存被关闭 --><property name="maxStatements" value="8"/><!-- maxStatementsPerConnection定义了连接池中的单个连接所拥有的最大缓存statements数。 --><property name="maxStatementsPerConnection" value="5"/><!--最大空闲时间,1800秒未使用则连接被丢弃。若为0则永不丢弃 --><property name="maxIdleTime" value="1800"/></bean></property></bean><!-- 配置事务管理器 --><bean id="hibernateTemplate" class="org.springframework.orm.hibernate4.HibernateTemplate"><property name="sessionFactory" ref="sessionFactory"/></bean><!-- 配置Hibernate事务策略 --><bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory"/></bean><!-- 声明一个切面 --><tx:advice id="txAdvice" transaction-manager="txManager"><tx:attributes><!--<tx:method name="add*" propagation="REQUIRED"/>--><!--<tx:method name="exits" read-only="true"/>--><tx:method name="*" propagation="REQUIRED"/></tx:attributes></tx:advice><!-- 把切面注入到业务中 --><aop:config><aop:pointcut id="businessService" expression="execution(public * com.yanxi.service..*(..))"/><aop:advisor advice-ref="txAdvice" pointcut-ref="businessService"/></aop:config>
</beans>
jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring?characterEncoding=UTF8
jdbc.username=root
jdbc.password=123
hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration><session-factory><!-- 1,数据库连接信息 --><property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property><!-- 2,其他配置 --><property name="format_sql">true</property><property name="show_sql">true</property><property name="hbm2ddl.auto">update</property><!-- 3,导入映射文件 --><mapping class="com.yanxi.model.Book"/></session-factory>
</hibernate-configuration>
java 代码action层public class BookAction extends ActionSupport{private Book book;//接收表单提交的数据private List<Book> books;//返回查询的数据带给前端页面显示private String id;//删除一本请求时带过来的参数private String result;//返回更新操作后的消息@Autowiredprivate BookService bookService;public String saveBook(){System.out.println(book.getTitle());bookService.saveBook(book);return SUCCESS;}public String findBooks(){books= bookService.findAllBooks();return SUCCESS;}public String updateBook(){System.out.println("请求是带过来要更改book的id号为:"+book.getId());bookService.updateBook(book);result="恭喜您更改成功!!!";return SUCCESS;}public String deleteBook(){System.out.println("请求是带过来要删除的book的id号为:"+id);bookService.deleteBook(Integer.parseInt(id));return SUCCESS;}public String editBook(){book=bookService.getBook(Integer.parseInt(id));return SUCCESS;}public Book getBook() {return book;}public void setBook(Book book) {this.book = book;}public List<Book> getBooks() {return books;}public void setBooks(List<Book> books) {this.books = books;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getResult() {return result;}public void setResult(String result) {this.result = result;}
}service层public interface BookService {public abstract void saveBook(Book book);public abstract List<Book> findAllBooks();public abstract void updateBook(Book book);public abstract boolean deleteBook(int  id);public abstract boolean exitBookByName(String name);public abstract Book getBook(int id);
}serviceImpl层@Component
public class BookServiceImpl implements BookService {@Resourceprivate BookDao bookDao;public void saveBook(Book book) {bookDao.save(book);System.out.println("a book save success");}public List<Book> findAllBooks() {List<Book> lists=bookDao.findAll("from Book");return lists;}public void updateBook(Book book) {bookDao.update(book);}public Book getBook(int id) {Book book=bookDao.get(Book.class,id);return book;}public boolean deleteBook(int  id) {bookDao.delete(bookDao.get(Book.class,id));return true;}public boolean exitBookByName(String name) {return false;}
}dao层public interface BookDao extends BaseDao {
}daoImpl层@Component
public class BookDaoImpl extends BaseDaoImpl implements BookDao {
}baseDao层public interface BaseDao {public abstract void  save(Object object);public abstract <T> List<T>  findAll(String sql);public abstract void update(Object object);public abstract  boolean delete(Object object);public abstract <T> T get(Class<T> tClass,int id);
}
baseDaoImpl层public class BaseDaoImpl implements BaseDao {@Autowiredprivate HibernateTemplate hibernateTemplate;public void save(Object object) {hibernateTemplate.save(object);}public <T> List<T> findAll(String sql) {List<T> list=(List<T>) hibernateTemplate.find(sql);System.out.println("find the data:"+list);return list;}public void update(Object object) {hibernateTemplate.update(object);}public boolean delete(Object object) {hibernateTemplate.delete(object);return true;}public <T> T get(Class<T> tClass, int id) {T t= (T)hibernateTemplate.get(tClass,id);return t;}
}
jsp页面index.jsp<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page language="java" import="java.util.*" pageEncoding="Utf-8"%>
<html>
<head><title>ssh整合首页</title><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><!-- 新 Bootstrap 核心 CSS 文件 --><style type="text/css">@import url("<c:url value="/css/bootstrap.min.css"/>");</style>
</head>
<body>
<h2>struts2+hibernate+spring 配置成功!</h2>
<hr>
<ul class="list-group"><li class="list-group-item">实现对书本的增删改查</li><li class="list-group-item">图书的类型</li><li class="list-group-item">图书的数量</li><li class="list-group-item"><span class="badge">添</span><a href="jsp/BookAddForm.jsp" >添加一本新书</a></li><li class="list-group-item">bootstrap真心好用</li><li class="list-group-item"><span class="badge">查</span><a href="book_list">查看所有的书籍</a></li>
</ul>
</body>
</html>BookAddForm.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>Book Add Form</title><style type="text/css">@import url("<c:url value="/css/bootstrap.min.css"/>");</style>
</head>
<body>
<div class="container"><h1>SpringMVC 添加书籍</h1><hr><form commandName="book" action="book_save" method="post"><div class="form-group"><label for="category">Category:</label><select class="form-control" id="category" name="book.category"><option>文学</option><option>计算机编程</option><option>健康</option><option>旅行</option><option>科普</option><option>天文学</option><option>医学</option><option>人文杂志</option></select></div><div class="form-group"><label for="title">Title:</label><input class="form-control" id="title" name="book.title" placeholder="Enter Title:"></div><div class="form-group"><label for="author">Author</label><input class="form-control" id="author" name="book.author" placeholder="Enter Author:"></div><div class="form-group"><label for="isbn">ISBN</label><input class="form-control" id="isbn" name="book.isbn" placeholder="Enter ISBN:"></div><div class="form-group"><label for="price">Price</label><input class="form-control" id="price" name="book.price" placeholder="Enter Price:"></div><div class="form-group"><input id="reset" type="reset" tabindex="4" value="reset" class="btn btn-sm btn-success"><input id="submit" type="submit" tabindex="5" value="add Book" class="btn btn-sm btn-success"></div></form>
</div>
</body>
</html>BookList.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>Book List</title><style type="text/css">@import url("<c:url value="/css/bootstrap.min.css"/>");</style>
</head>
<body>
<div id="global"><h1>Book List</h1><br><a href="jsp/BookAddForm.jsp">Add Book</a><table class="table tavble-bordered table-striped"><tr><th>Category</th><th>Title</th><th>ISBN</th><th>Author</th><th>Price</th><th>Operate</th></tr><c:forEach items="${books}" var="book"><tr><td>${book.category}</td><td>${book.title}</td><td>${book.isbn}</td><td>${book.author}</td><td>${book.price}</td><td><a href="#" type="button" class="btn btn-sm btn-info">details</a><a href="book_edit?id=${book.id}" type="button" class="btn btn-success btn-sm">Edit</a><a href="book_delete?id=${book.id}" type="button" class="btn btn-sm btn-danger">delete</a></td></tr></c:forEach></table>
</div>
</body>
</html>BookEditForm.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head><title>Book Edit Form</title><style type="text/css">@import url("<c:url value="/css/bootstrap.min.css"/>");</style>
</head>
<body>
<div id="container"><h1>Edit a Book</h1><hr><h3>${result}</h3><form action="book_update" method="post"><input type="hidden" name="book.id" value="${book.id}"><div class="form-group"><label for="category">Category:</label><select class="form-control" id="category" name="book.category"><option hidden>${book.category}</option><option>文学</option><option>计算机编程</option><option>健康</option><option>旅行</option><option>科普</option><option>天文学</option><option>医学</option><option>人文杂志</option></select></div><div class="form-group"><label for="title">Title:</label><input id="title" class="form-control" name="book.title" value="${book.title}"/></div><div class="form-group"><label for="author">Author:</label><input id="author" class="form-control" name="book.author" value="${book.author}"/></div><div class="form-group"><label for="isbn">ISBN</label><input class="form-control" id="isbn" name="book.isbn" value="${book.isbn}"/></div><div class="form-group"><label for="price">Price</label><input class="form-control" id="price" name="book.price" value="${book.price}"/></div><div class="form-group"><input type="reset" class="btn btn-sm btn-success" id="reset" value="重置"/><input type="submit" class="btn btn-sm btn-success" id="submit" value="更改"/></div></form>
</div>
</body>
</html>

效果图 输入local host:8080/springtest02

转载于:https://my.oschina.net/lcyanxi/blog/751087

IDEA用maven整合ssh框架相关推荐

  1. 使用maven整合SSH框架详细步骤

    (文章所使用的的框架为Struts2+Spring+Hibernate,项目的结构图参照文章尾部) 1.第一步:创建maven工程,在pom.xml文件中导入需要的jar包依赖: <projec ...

  2. 使用IDEA和Maven整合SSH

    使用IDEA和Maven整合SSH SSH介绍 开发工具 整合SSH 一.准备数据库 二.创建项目 1.使用maven快速创建web工程 2.建包,创建配置文件模版 3.引入项目所需jar文件 4.编 ...

  3. idea 使用 maven 整合 ssm 框架 实现简单的增、删、改 和 分页查询功能

    详细请参考:   idea 使用 maven 整合 ssm 框架 文章目录 ==效果图== ==准备数据库== ==创建maven项目== ==配置文件== pom.xml jdbc.properti ...

  4. myeclipse使用maven整合ssh配置

    最近写项目,由于公司需求,使用myeclispe来开发maven项目,关于maven就不再介绍,无论是jar包管理功能,还是作为版本构建工具,优点自然是很多,下面先贴出所需要的配置文件. maven所 ...

  5. 基于maven的ssh框架一步一步搭建(一)

    一.新建maven项目,配置ssh框架pom的最低支持 1.新建一个maven项目 2.添加一个web.xml ? 1 2 3 4 5 6 7 8 9 <?xml version="1 ...

  6. 浅谈IDEA+Maven 整合SSM框架实现简单的增删改查

    SSM SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项 ...

  7. 基于Maven的SSH框架搭建

    2019独角兽企业重金招聘Python工程师标准>>> 1.工程介绍 工程是结合了Spring+struts2+hibernate,实现了一个简单的form表单提交的功能,可能需要对 ...

  8. idea 使用maven 整合ssm框架

    创建 maven 项目 刚创建好的 maven 项目结构 整合 SSM 框架后的项目结构 数据库环境 创建 mybatis 数据库,在 mybatis 数据库中创建 teacher 数据库表,然后在 ...

  9. Maven整合SSM框架(maven+spring+springmvc+mybatis)

    啊哈,终于到了用Maven整合SSM这个扑街含家产了.弄了整整一天才跑通.Mybatis的配置有些繁琐,跟之前学习的那个有点出去,加上Eclipse的Spring工具没有弄,配置的时候没有提示被搞蒙圈 ...

最新文章

  1. bootstrap-table对前台页面表格的支持
  2. FATFS配置长文件名,为何跟编码转换有关
  3. Java中的运算神器 BigDecimal,了解一下?
  4. ML之分类预测:机器学习中多分类预测数据集可视化(不同类别赋予不同颜色)设计思路及代码实现
  5. 删除右键菜单中的选项:在Visual Studio中打开
  6. postgresql 删除触发器_PostgreSQL:我没有带闪,不讲武德
  7. C语言学习之从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)
  8. python3多进程 进程池 协程并发
  9. Linux 内存管理 | 地址映射:分段、分页、段页
  10. python源码笔记_python源码学习笔记(一)
  11. lamda表达式修改数据_图解sql面试题:如何按条件修改数据?
  12. java实例分析宠物商店_java实例分析:宠物商店.ppt
  13. nio2 java_java nio2
  14. linux下文件系统管理mkfs及挂载Mount(2)
  15. zabbix 自定义监控 排除带报错提示
  16. Lecture 7:策略梯度
  17. 3998. 变成1-AcWing题库
  18. ALtium 16等长布线、差分布线
  19. Protel99SE精彩教程
  20. java计算机毕业设计家教管理系统源码+mysql数据库+系统+lw文档+部署

热门文章

  1. mysql导入 内存溢出_Solr Dataimporthandler 导入MySQL 内存溢出。
  2. linux包含绝对路径头文件,linux-kernel - 访问用户空间内存访问函数(如access_ok(),get_from_user())需要包含的头文件的确切路径。 - 堆栈内存溢出...
  3. php yii结果集合并,PHP 基础之数组合并
  4. geotools 读取shp属性过滤_Flink进阶之使用布隆过滤器实现UV统计
  5. linux iphone文件,在linux下生成iphone所需要的视频和音频文件的方法总结
  6. mysql多数据库_mysql 多端口及主从数据库
  7. java base64字符 转图片_JAVA实现图片与base64字符串之间的转换详解
  8. 电梯java_基于Java的电梯系统
  9. idea 拉取gitlab分支项目_如何删除gitlab上的文件夹?
  10. android sleep_android实现下拉刷新动画水滴效果