MyBatis 3章 MyBatis Spring Struts2 整合应用

 

MyBatis 2章 MyBatis与Spring整合

使用Spring Security实现权限管理

使用ajax gson增强用户体验

 

MyBatis 3章 MyBatis Spring Struts2 整合应用

 

 

 

1、技术目标

 

  • 为项目添加Struts2框架
  • 整合Spring与strtus2
  • 为项目添加jsp页面,操作影片CRUD

 

 

注意:关于strtus2框架其他方面的应用细节不在本文讨论范围

 

2、使用准备

 

2.1) 在项目(Web)中新增如下jar包,struts版本2.2.1.1(本文已提供下载):

 

commons-fileupload-1.2.1.jar

commons-io-1.3.2.jar

commons-logging-1.1.1.jar

freemarker-2.3.16.jar

javassist-3.12.0.GA.jar

ognl-3.0.jar

struts2-core-2.2.1.1.jar

struts2-spring-plugin-2.2.1.1.jar

xwork-core-2.2.1.1.jar

 

2.2)创建如下包,放置struts控制器(Action)代码:

 

com.xxx.web.struts.action

 

2.3)在src下创建Spring配置文件applicationContext-actions.xml ,内容如下:

 

 

 


	

	
	

 

 

2.4)在src下创建struts2配置文件struts.xml ,内容如下:

 

 


	
	
	
		
		
		
		
		
		
		
			
		

 

 

 

2.5)web.xml 中配置struts2

 

 


	
	  
	    index.jsp
	  
	  
	  	
			contextConfigLocation
			/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml
		
		
		
			struts2
			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
		
		
			struts2
			/*
		
		
		
			org.springframework.web.context.ContextLoaderListener
		
	  
	

 

 

3、在com.xxx.web.struts.action包下创建类FilmAction,如下:

 

 

package com.xxx.web.struts.action;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.xxx.pojo.Film;
import com.xxx.service.FilmService;

@SuppressWarnings("serial")
public class FilmAction extends ActionSupport implements ModelDriven {

	//业务逻辑对象
	@Autowired
	private FilmService filmService;
	
	//封装查询结果
	private List filmList;
	
	//封装页面提交的表单数据
	private Film film = new Film();
	
	/**
	 * 获取所有的电影
	 * @return
	 * @throws Exception
	 */
	public String findFilm() throws Exception {
		
		this.filmList = this.filmService.getAllFilm();
		return SUCCESS;
	}
	
	/**
	 * 根据影片ID获取影片信息
	 * @return
	 * @throws Exception
	 */
	public String detailFilm() throws Exception {

		int id = film.getId().intValue();
		Film film = this.filmService.getFilmById(id);
		this.film.setFname(film.getFname());
		return SUCCESS;
	}
	
	/**
	 * 添加影片
	 * @return
	 * @throws Exception
	 */
	public String insertFilm() throws Exception {

		this.filmService.insertFilm(film);
		return SUCCESS;
	}
	
	/**
	 * 修改影片
	 * @return
	 * @throws Exception
	 */
	public String updateFilm() throws Exception {

		this.filmService.updateFilm(film);
		return SUCCESS;
	}
	
	/**
	 * 删除影片
	 * @return
	 * @throws Exception
	 */
	public String deleteFilm() throws Exception {

		int id = film.getId().intValue();
		this.filmService.deleteFilm(id);
		return SUCCESS;
	}
	
	public Film getModel() {
		return film;
	}

	public List getFilmList() {
		return filmList;
	}

	public void setFilmList(List filmList) {
		this.filmList = filmList;
	}

}

 

 

4、在applicationContext-actions.xml中配置FilmAction

 

 




	
	
	

 

 

5、在struts.xml中配置Action

 

 





	
	
	
	
	
	
	
	
		
		
		
			/manager/films.jsp
		
		
		
			findFilm
		
		
		
			/manager/updateFilm.jsp
		
		
		
			findFilm
		
		
		
			findFilm
		
		
	
	

 

 

6、在WebRoot(页面路径下)创建文件夹manager,在manager下创建3个jsp文件:

 

 

  • films.jsp (查询页面)
  • insertFilm.jsp (添加影片页面)
  • updateFilm.jsp (修改影片页面)

 

6.1)films.jsp代码如下:

 

 

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8" %>
<%@taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


  
    信息操作
  
  
    
    	
    
    添加影片信息
<%-- 遍历影片信息 --%>
序号影片名操作
[修改]  [删除]

 

 

6.2)insertFilm.jsp代码如下:

 

 

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8" %>
<%@taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


  
    添加影片
  
  
    
    	
    	
    
  

 

6.3)updateFilm.jsp代码如下:

 

 

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8" %>
<%@taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


  
    修改影片
  
  
    
    	
    	
    	
    
  

 


提示:本文示例项目已提供下载

 

MyBatis 2章 MyBatis与Spring整合

使用Spring Security实现权限管理

使用ajax gson增强用户体验

 

 

你可能感兴趣的:(8,Java框架技术)