eclipse整合ssh框架基礎
導語
最近在學習的ssh框架,期間遇到各種錯誤,各種坑,挖坑填坑,生活還是美滋滋。為了日後重溫舊夢,也為了遇到問題的夥伴能多些方法填坑,整理思路,梳理的ssh
開發環境
開發環境:window7的
eclipse:Mars.2 Release(4.5.2)(插件:springsource-tool,hibernatetools-Update插件下載過期私我)至於怎麼裝這兩個插件(百度),為什麼不用Myeclipse,不要問我/(ㄒo ㄒ )/
Mysql 5.5.1
Tocat7.0
對SSH的初步理解
創建動態Web項目
創建網頁項目EMSystem,注意:自動生成的web.xml
如圖:(下一步- >就能看見)
添加項目所需的jar包下載地址 過期私我 ,版本:Stuts2.3.24,Spring3.2.5,Hibernate3.0,怎麼添加就交給小聰明你了O(∩_∩)O
Struts2整合Spring
在網路容器中添加彈簧核心監聽器及Struts的過濾器:
web.xml
春天核心監聽器 - > org.springframework.web.context.ContextLoaderListener
contextConfigLocation的
類路徑:applicationContext.xml中支柱 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
器/過濾器級>支柱 / *
創建包結構,如圖:
編寫簡單的添加商品的業務功能,編寫行動,服務,刀,實體類
商品實體:
Product.java
/ ** *表示商品的實體類 * @author Administrator * /公共產品{ //商品編號 私有整數pid //商品名 private String pname; //商品價格 私人雙人價格; // getter,setter方法自動生成}
商品行動:
ProductAction.java
包com.ssh.action;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;進口com.ssh.entity.Product;import com.ssh.service.ProductService;/ ** *控制層 *採用模型驅動方式 * @author Administrator * /public class ProductAction extends ActionSupport implements ModelDriven
{ //模型驅動使用的類 私人產品=新產品(); // struts和spring整合自動注入的業務層類 私人ProductService產品服務; public void setProductService(ProductService productService){ this.productService = productService; } @覆蓋 public Product getModel(){ // TODO自動生成的方法存根 退貨; } //容易出錯save()沒有參數 public String save(){ 的System.out.println( 「ProductAction.save()方法被執行」); productService.save(產品); 返回NONE; }}
服務:
ProductService.java
包com.ssh.service;import org.springframework.transaction.annotation.Transactional;進口com.ssh.dao.ProductDao;進口com.ssh.entity.Product;/ ** *管理業務層的類 * @author Administrator * /@Transactional公共類ProductService { //業務層注入道 私人產品 // setter方法注入bean public void setProductDao(ProductDao productDao){ this.productDao = productDao; } public boolean save(Product product){ 的System.out.println( 「ProductService.save()方法被執行」); productDao.save(產品); 返回真 }}
道:
ProductDao.java
包com.ssh.dao;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;進口com.ssh.entity.Product;/ ** * Dao層,持久層 * @author Administrator * /公共類ProductDao擴展了HibernateDaoSupport { public boolean save(Product product){ 的System.out.println( 「ProductDao.save()被執行」); 返回真 } // hibernate框架獲取配置文件,配置,sessionFactory,會話,}
配置作用,服務,刀
配置
applicationContext.xml
struct.xml
在的WebContent添加下添加用於商品的
addProduct.jsp
頁面
%@ taglib uri =「/ struts-tags」prefix =「s」%> addProduct命令
保存商品的頁面 商品名稱 商品價格
好了,struts整合到此為止,可以試試看沒有點成就感,出錯要耐心"「
Spring整合Hibernate
*先做基礎,創建ssh資料庫,添加
jdbc.properties
,
log4j.properties
源碼裡面有
jdbc.properties
jdbc.driverClass = com.mysql.jdbc.Driverjdbc.url = JDBC :MySQL的://本地主機:3306 / SSH了useUnicode =真的characterEncoding = UTF-8#jdbc的:mysql://本地主機:3306 / SSHjdbc.username =根jdbc.password = {}
利用插件或MyEclipse的自動生成映射文件
再次配置
applicationContext.xml
,完成真正的連接數據
org.hibernate.dialect.MySQLDialect
true
true
update
COM / SSH /實體/ Product.hbm.xml
測試下自動創建表是否成功,執行項目即可
添加持久層代碼,將商品信息保存到資料庫(紅色注釋下方代碼)
ProductDao.java
公共類ProductDao擴展了HibernateDaoSupport { public boolean save(Product product){ 的System.out.println( 「ProductDao.save()被執行」); //獲取配置文件,configuration,sessionFactory,session,簡化了操作 。this.getHibernateTemplate()保存(產品); 返回真 }}
添加資料庫操作的事務處理
applicationContext.xml
整合就完成了,做最後的測試,喝杯水壓壓驚,測試開始(我這裡資料庫是可視化操作)OH,如果出錯了
一步一步錯拍唄
常見問題及解決方案
錯誤代碼:
沒有為命名空間[/]和操作名稱[product_save]映射的操作 上下文路徑[/ ssh]
檢查,struts.xml和applicationContext.xml中關於action的配置,name和class是否正確
檢查動作類,保存()方法是否寫對,(保存()是沒有參數的,我就錯在這)。
※5億整數的大文件,怎麼排?
※你了解實 時計算嗎?
※Linux下安裝 Redis
※乾貨分享 myeclispe常用技巧
※學習java入門 第一季後總結筆記
TAG:java吧 |
※powershell滲透框架
※Wasserstein is all you need:構建無監督表示的統一框架
※SpringMVC + security模塊 框架整合詳解
※Spring Cache 框架
※學界 | Wasserstein is all you need:構建無監督表示的統一框架
※分散式框架spring-session實現session一致性使用問題
※淺談Metasploit框架中的Payload
※JFinal框架學習——EhCachePlugin
※django框架:HttpResponse對象
※Jmeter+Ant+Jenkins介面自動化測試框架搭建for Windows
※Node.js之express框架
※Python爬蟲框架之pyspider
※圍觀丨Google 的 Mobile UI 框架 Flutter Preview 1 發布!
※spring註解方式與AspectJ框架資料庫事務
※AspectJ 框架 spring 實現 AOP?
※基於Asyncio的Python微框架:Quart
※python:web框架Falsk知識點總結
※筆記應用GoodNotes將推出macOS版本,基於Project Catalyst框架
※JFinal框架學習——cache的簡單使用
※Altova跨平台移動應用框架MobileTogether發新版