在网上看到好多个版本,自己有时间索性就写个Demo记录下整个框架的逻辑流程;
1、首先拷贝整个框架所需要的jar包到WEB-INF/lib包下(这个网上都可以搜到的)
2、配置文件的配置,
2.1、在web.xml配置文件中,是整个项目的入口配置文件,需要配置struts核心配置、Spring核心配置、监听spring配置
1
2
3 contextConfigLocation
4
5 /WEB-INF/spring/applicationContext-web.xml
6
8
9 org.springframework.web.context.ContextLoaderListener
10
13
14
15 struts2
16 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
17
19
20 struts2
21 /*
22
2.2、将struts2的主配置文件复制到此项目中,可以复制到(classpath:)src的目录下即可
method="SelectByid">
One.jsp
Select.jsp
method="QueryAll">
All.jsp
Select.jsp
2.3、Spring框架的搭建,创建applicationContext-web.xml配置文件,
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
/WEB-INF/ibatis/jdbc.properties
/WEB-INF/ibatis/SqlMapConfig.xml
scope="prototype">
2.4、连接数据库的相关配置文件jdbc.properties和SqlMapConfig.xml配置文件(分别集中到一个文件夹中,)
jdbc.properties
jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=fdx
jdbc.username=sa
jdbc.password=abc123456
SqlMapConfig.xml【sql的映射文件的配置】
/p>
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
User.xml配置文件中放的具体的sql语句的操作:
resultClass="AutoUpgrade">
select * from t_AutoUpgrade
where id = #id#;
select * from t_AutoUpgrade
以上都是配置文件的配置,接下来是部分java代码部分
dao接口
package com.test.dao;
import java.util.List;
import com.test.pojo.AutoUpgrade;
public interface AutoUpgradeDao {
//获取版本信息
public AutoUpgrade queryAotuUpgradeById(int id);
//查询所有信息
public List queryAll();
}
daoImpl实现类
package com.test.dao;
import java.util.List;
import com.test.pojo.AutoUpgrade;
public interface AutoUpgradeDao {
//获取版本信息
public AutoUpgrade queryAotuUpgradeById(int id);
//查询所有信息
public List queryAll();
}
service接口
package com.test.service;
import java.util.List;
import com.test.pojo.AutoUpgrade;
public interface AutoUpgradeService {
//根据id查看更新信息
public AutoUpgrade queryAutoById(int id);
//查询所有版本信息列表
public List queryAll();
}
serviceImpl实现类【业务实现类】
package com.test.serviceImpl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.test.dao.AutoUpgradeDao;
import com.test.pojo.AutoUpgrade;
import com.test.service.AutoUpgradeService;
public class AutoUpgradeServiceImpl implements AutoUpgradeService{
@Autowired
private AutoUpgradeDao autodao;
public AutoUpgradeDao getAutodao() {
return autodao;
}
public void setAutodao(AutoUpgradeDao autodao) {
this.autodao = autodao;
}
@Override
public AutoUpgrade queryAutoById(int id) {
// TODO Auto-generated method stub
System.out.println("进来了serviceimpl实现类中===========");
AutoUpgrade auto = autodao.queryAotuUpgradeById(id);
System.out.println("serviceImpl实现类中完成了查询操2222222222222:"+auto.getUrl());
return auto;
}
@Override
public List queryAll() {
// TODO Auto-generated method stub
System.out.println("serviceimpl进来啦--------------");
List list = autodao.queryAll();
return list;
}
}
RegisterAction类
package com.test.action;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.springframework.beans.factory.annotation.Autowired;
import com.opensymphony.xwork2.ActionSupport;
import com.test.pojo.AutoUpgrade;
import com.test.service.AutoUpgradeService;
public class AutoUpgradeAction extends ActionSupport implements ServletRequestAware{
/**
* 序列化
*/
private static final long serialVersionUID = 1L;
@Autowired
private AutoUpgradeService autoService;
public AutoUpgradeService getAutoService() {
return autoService;
}
public void setAutoService(AutoUpgradeService autoService) {
this.autoService = autoService;
}
private HttpServletRequest request;
public String SelectByid() {
System.out.println("开始进行action中进行前后台的交互----------------");
String id = request.getParameter("id");
System.out.println("id值============="+id);
AutoUpgrade auto = new AutoUpgrade();
auto.setId(Integer.valueOf(id));
System.out.println("用户名"+auto.getId()+"将要进入查询操作");
AutoUpgrade au= autoService.queryAutoById(auto.getId());
System.out.println("==============="+au.getAppCode()+"===appcode值");
if(au.getAppCode() !=null || au.getAppCode()!=""){
request.setAttribute("auto", au);
return "one";
}
return "sad";
}
//查询所有的版本信息,并用列表显示出来
public String QueryAll(){
System.out.println("见啦了action中,进行查询全部版本信息==========================");
List list = autoService.queryAll();
if(list.size()>0){
request.setAttribute("list", list);
return "all";
}else{
return "null";
}
}
@Override
public void setServletRequest(HttpServletRequest arg0) {
// TODO Auto-generated method stub
request = arg0;
}
}
前台的jsp页面的访问
pageEncoding="utf-8"%>
Insert title here查询完成之后,显示页面内容的jsp
查询成功welcome here!
idappCodeUpgradeTisVersionForceUpgradeReleaseTimeurl
list = (List)request.getAttribute("list");
Iterator it = list.iterator();
while(it.hasNext()){
AutoUpgrade auto = (AutoUpgrade)it.next();%>
显示结果:
然后按照MVC的模式设计Demo,整个项目目录如下: