struts中调用servlet的两种方法——IcC方式和非IoC方式的代码demo

  1 package com.java1234.action;//所在的包

  2 

  3 import java.sql.Connection;//数据库连接的类

  4 import java.util.ArrayList;//ArrayList和List是在private List<DataDic> dataDicList=new 

  5 

  6 ArrayList<DataDic>();中用到

  7 import java.util.List;//ArrayList和List是在private List<DataDic> dataDicList=new 

  8 

  9 ArrayList<DataDic>();中用到

 10 

 11 import javax.servlet.http.HttpServletRequest;

 12 import javax.servlet.http.HttpSession;

 13 

 14 import net.sf.json.JSONObject;

 15 

 16 import org.apache.struts2.ServletActionContext;//访问Servlet API的时候使用的非IOC方式

 17 

 18 ,方法一:org.apache.Structs2.ServletActionContext获取session,request,response

 19 import org.apache.struts2.interceptor.ServletRequestAware; ////访问Servlet API的时候

 20 

 21 使用的IOC方式(Inversion of Control,自身不创建对象,仅仅描述创建它们的方式.)这里是

 22 

 23 让Action实现ServletRequestAware接口而已,没有实现ServletResponseAware接口还有

 24 

 25 SessionWare接口

 26 

 27 import com.java1234.dao.DataDicDao;

 28 import com.java1234.model.DataDic;

 29 import com.java1234.model.PageBean;

 30 import com.java1234.util.DbUtil;

 31 import com.java1234.util.NavUtil;

 32 import com.java1234.util.PageUtil;

 33 import com.java1234.util.PropertiesUtil;

 34 import com.java1234.util.ResponseUtil;

 35 import com.java1234.util.StringUtil;

 36 import com.opensymphony.xwork2.ActionSupport;//action需要继承这个类

 37 

 38 /*这里是让类实现ServletRequestAware接口就是非IOC方式,没有实现ServletResponseAware接

 39 

 40 口还有SessionWare接口*/

 41 // 这里是让类继承了ActionSupport这个类,实现IOC方式

 42 public class DataDicAction extends ActionSupport implements ServletRequestAware{  

 43 

 44     /**

 45      * 

 46      */

 47     private static final long serialVersionUID = 1L;

 48     

 49     private HttpServletRequest request;//定义request

 50     private DbUtil dbUtil=new DbUtil();

 51     private DataDicDao dataDicDao=new DataDicDao();

 52     private List<DataDic> dataDicList=new ArrayList<DataDic>();//定义一个DataDic

 53 

 54 类型的ArrayLst,但是ArrayList定义的时候需要用List a=new ArrayList();定义

 55     

 56     private String mainPage; 

 57     private String navCode;    

 58     

 59     private String s_ddTypeName;

 60     

 61     private String page;

 62     private int total;

 63     private String pageCode;

 64     

 65     private String ddId;

 66     

 67     

 68     

 69     

 70     public String getDdId() {

 71         return ddId;

 72     }

 73 

 74     public void setDdId(String ddId) {

 75         this.ddId = ddId;

 76     }

 77 

 78     public String getPage() {

 79         return page;

 80     }

 81 

 82     public void setPage(String page) {

 83         this.page = page;

 84     }

 85 

 86     public int getTotal() {

 87         return total;

 88     }

 89 

 90     public void setTotal(int total) {

 91         this.total = total;

 92     }

 93 

 94     public String getPageCode() {

 95         return pageCode;

 96     }

 97 

 98     public void setPageCode(String pageCode) {

 99         this.pageCode = pageCode;

100     }

101 

102     public List<DataDic> getDataDicList() {

103         return dataDicList;

104     }

105 

106     public void setDataDicList(List<DataDic> dataDicList) {

107         this.dataDicList = dataDicList;

108     }

109 

110     public String getMainPage() {

111         return mainPage;

112     }

113 

114     public void setMainPage(String mainPage) {

115         this.mainPage = mainPage;

116     }

117 

118     public String getNavCode() {

119         return navCode;

120     }

121 

122     public void setNavCode(String navCode) {

123         this.navCode = navCode;

124     }

125 

126     public String getS_ddTypeName() {

127         return s_ddTypeName;

128     }

129 

130     public void setS_ddTypeName(String s_ddTypeName) {

131         this.s_ddTypeName = s_ddTypeName;

132     }

133 

134     public String list(){//定义一个方法

135         if(StringUtil.isEmpty(page)){

136             page="1";

137         }

138         Connection con=null;

139         try{

140             HttpSession session=request.getSession();//非IoC方式的第一种

141 

142 方法:使用org.apache.struts2.SerVletActionContext获取session对象

143             DataDic s_dataDic=new DataDic();

144             if(s_ddTypeName!=null){

145                 s_dataDic.setDdTypeName(s_ddTypeName);//非IoC方式的第

146 

147 一种方法:使用org.apache.struts2.SerVletActionContext获取session对象

148                 session.setAttribute("s_ddTypeName", s_ddTypeName);//

149 

150 非IoC方式的第一种方法:使用org.apache.struts2.SerVletActionContext获取session对象

151             }else{

152                 Object o=session.getAttribute("s_ddTypeName");//非IoC

153 

154 方式的第一种方法:使用org.apache.struts2.SerVletActionContext获取session对象

155                 if(o!=null){

156                     s_ddTypeName=(String)session.getAttribute

157 

158 ("s_ddTypeName");//非Ioc方式的第一种方法:使用org.apache.struts2.SerVletActionContext

159 

160 获取session对象

161                     s_dataDic.setDdTypeName(s_ddTypeName);

162                 }

163             }

164             PageBean pageBean=new PageBean(Integer.parseInt

165 

166 (page),Integer.parseInt(PropertiesUtil.getValue("pageSize")));

167             con=dbUtil.getCon();

168             dataDicList=dataDicDao.dataDicList(con,s_dataDic,pageBean);

169             total=dataDicDao.dataDicCount(con, s_dataDic);

170             pageCode=PageUtil.genPagation(request.getContextPath

171 

172 ()+"/dataDic!list", total, Integer.parseInt(page), Integer.parseInt

173 

174 (PropertiesUtil.getValue("pageSize")));

175             navCode=NavUtil.getNavgation("系统管理", "数据字典维护");

176             mainPage="dataDic/dataDicList.jsp";

177         }catch(Exception e){

178             e.printStackTrace();

179         }finally{

180             try {

181                 dbUtil.closeCon(con);

182             } catch (Exception e) {

183                 // TODO Auto-generated catch block

184                 e.printStackTrace();

185             }

186         }

187         return SUCCESS;

188     }

189 

190     @Override

191     public void setServletRequest(HttpServletRequest request) {//IoC方式访问

192 

193 Servlet API,要用到request对象。为request方法添加setter方法

194         // TODO Auto-generated method stub

195         this.request=request;

196     }

197     

198     public String delete(){

199         Connection con=null;

200         try{

201             con=dbUtil.getCon();

202             JSONObject resultJson=new JSONObject();

203             dataDicDao.dataDicDelete(con, ddId);

204             resultJson.put("success", true);

205             ResponseUtil.write(resultJson, 

206 

207 ServletActionContext.getResponse());//非Ioc方式的第一种方法:使用

208 

209 org.apache.struts2.SerVletActionContext

210         }catch(Exception e){

211             e.printStackTrace();

212         }finally{

213             try {

214                 dbUtil.closeCon(con);

215             } catch (Exception e) {

216                 // TODO Auto-generated catch block

217                 e.printStackTrace();

218             }

219         }

220         return null;

221     }

222 }

 

你可能感兴趣的:(servlet)