2021-04-27

2 篇文章 0 订阅
1 篇文章 0 订阅

JavaWeb开发接口-Struts2开发

1.创建一个Struts2的工程
这边是以2.16位核心架包如下所示
在这里插入图片描述
2.赋值web.xml和Strutsxml
在这里插入图片描述
在这里插入图片描述红色框部分表示需要返回值为json时,其依赖的架包如下所示,如果不引用会报错程序无法跑起来在这里插入图片描述
此时运行程序效果:简单的Struts2工程搭建完毕
在这里插入图片描述
3.进行数据库连接
我用的是sqlserver2008需要引用sqljdbc4架包
在这里插入图片描述
在这里插入图片描述
数据库连接成功后需要见一个表用于进行接口的增删改查
4.在struts.xml中配置好接口用方法
在这里插入图片描述
4.这边按照action,dao,vo见了三个文件夹
在这里插入图片描述

public class ModelInfoListAction extends ActionSupport implements Preparable, ModelDriven {
private ModelInfoListVO lvo;
ModelInfoListDAO dao = new ModelInfoListDAO();
/**
* 用于展示json数据显示
*/
private List result1;
public List getResult1() {
return result1;
}

public void setResult1(List<ModeCodeListVO> result1) {
    this.result1 = result1;
}
/**
 * 用于获取查询信息
 * @return
 * @throws Exception
 */
public String scHogiQuery() throws Exception {
	result1 = dao.list1(lvo);
	if(result1.size()>0)
	{
		JSONObject jsonObject = new JSONObject();
        jsonObject.put("msg","查询成功!!");
        jsonObject.put("code",200);
        jsonObject.put("data", result1);//将查询的信息放入JSONObject
        HttpServletResponse resp = ServletActionContext.getResponse(); 
    	
        PrintWriter out = null;

        resp.setContentType("text/html;charset=UTF-8");//用于设定为可以中文显示
        
        out = resp.getWriter();
        out.print(jsonObject);
        out.close();
        out=null;
	}
	else
	{
		JSONObject jsonObject = new JSONObject();
        jsonObject.put("msg","查询失败!!");
        jsonObject.put("code",502);
	}
	return NONE;
}
/**
 * add by xld 20210412用于保存hogi实绩
 * @return
 * @throws Exception
 */
public String scHogiSave() throws Exception {		        
	String matnr = lvo.getKmatn();
	String hogi = lvo.getHogi();
	String workPart = lvo.getArbpl();
	String plnal = lvo.getPlnal();
	int result = 0;
	
	if(plnal== null)plnal="";

	if(matnr!=null && hogi != null && workPart != null) {

		result = ModelInfoListDAO.getSaveHogiInfo(matnr,hogi,workPart,plnal);
		
	}

	if(result > 0)
	{
		
		JSONObject jsonObject = new JSONObject();
        jsonObject.put("msg","保存成功!!");
        jsonObject.put("code",200);
        //jsonObject.put("msg", URLEncoder.encode((String) jsonObject.get("msg"), "UTF-8"));
	    
		HttpServletResponse resp = ServletActionContext.getResponse(); 

        PrintWriter out = null;

        resp.setContentType("text/html;charset=UTF-8");//用于设定为可以中文显示
        
        out = resp.getWriter();
        out.print(jsonObject);
        out.close();
        out=null;

// out.flush();
}
else
{
System.out.println(“error”);
}
return NONE;
}
/**
* add by xld 20210412用于删除hogi实绩
* @return
* @throws Exception
*/
public String scHogiDel() throws Exception {
String kmatn = lvo.getKmatn();
String hogi = lvo.getHogi();
String arbpl = lvo.getArbpl();

	int result = 0;
	if(kmatn!=null && hogi != null && arbpl != null) {

		result = ModelInfoListDAO.getDelHogiInfo(kmatn,hogi,arbpl);
		
	}
	if(result > 0)
	{
		
		JSONObject jsonObject = new JSONObject();
        jsonObject.put("msg","删除成功!!");
        jsonObject.put("code",200);
        //jsonObject.put("msg", URLEncoder.encode((String) jsonObject.get("msg"), "UTF-8"));
	    
		HttpServletResponse resp = ServletActionContext.getResponse(); 

        PrintWriter out = null;

        resp.setContentType("text/html;charset=UTF-8");//用于设定为可以中文显示
        
        out = resp.getWriter();
        out.print(jsonObject);
        out.close();
        out=null;

// out.flush();
}
else
{
JSONObject jsonObject = new JSONObject();
jsonObject.put(“msg”,“删除失败,数据已删除或不存在!”);
jsonObject.put(“code”,410);
//jsonObject.put(“msg”, URLEncoder.encode((String) jsonObject.get(“msg”), “UTF-8”));

		HttpServletResponse resp = ServletActionContext.getResponse(); 

        PrintWriter out = null;

        resp.setContentType("text/html;charset=UTF-8");//用于设定为可以中文显示
        
        out = resp.getWriter();
        out.print(jsonObject);
        out.close();
        out=null;
	}
	return NONE;
}

/* (non-Javadoc)
 * @see com.opensymphony.xwork2.Preparable#prepare()
 */
@Override
public void prepare() throws Exception {
	
	lvo = new ModelInfoListVO();
}

/* (non-Javadoc)
 * @see com.opensymphony.xwork2.ModelDriven#getModel()
 */
@Override
public ModelInfoListVO getModel() {
	
	return lvo;
}

}

6.后台数据查询保存,删除源码
public class ModelInfoListDAO {
ArrayList list = new ArrayList();
/**
* 用于查询
* @param kmatn
* @return
*/
public List list1(ModelInfoListVO lvo)
{
Connection conn = null;
ResultSet rs = null;
PreparedStatement pstmt = null;
String query = “”;
try
{
conn = new DBConn().dbConn();
query = "SELECT KMATN,HOGI,ARBPL,PLNAL FROM dbo.DI_CHK_HOGI_INFO WHERE KMATN=? ";

		pstmt = conn.prepareStatement(query);
		pstmt.setString(1, lvo.getKmatn());
		
		rs = pstmt.executeQuery();
		while(rs.next()){
			String kmatn = rs.getString( "KMATN" );
			String hogi = rs.getString( "HOGI");
			String arbpl = rs.getString("ARBPL");
			ModeCodeListVO data = new ModeCodeListVO();
			data.setKmatn(kmatn);
			data.setHogi(hogi);
			data.setArbpl(arbpl);
			
			list.add( data );
		}
		if(rs.isBeforeFirst()) {
			lvo.setGetQueryInfoList(CM.resultSetToArrayList(rs));
		} else {
			lvo.setGetQueryInfoList(null);
		}
		rs.close();
		pstmt.close();	
		
	}
	catch(Exception e)
	{
		
	}
	finally
	{
		if ( rs != null ) try{rs.close();}catch(SQLException e){} 
	    if ( pstmt != null ) try{pstmt.close();}catch(SQLException e){}
	    if ( conn != null ) try{conn.close();}catch(SQLException e){}
	}
	
	return  list;
}
/**
 * 
 * @param matnr
 * @param hogi
 * @param arbpl
 * @param plnal
 * @return
 */
public static int getCkHogiInfo(String matnr,String hogi,String arbpl) {
	int rst = 0;
	Connection conn = null;
	ResultSet rs = null;
	PreparedStatement pstmt = null;
	String query = "";
	try {
		conn = new DBConn().dbConn();
		
		query  = "SELECT COUNT(*) AS CNT FROM dbo.DI_CHK_HOGI_INFO ";
		query += "WHERE KMATN=? AND HOGI = ? AND ARBPL=? ";
		pstmt = conn.prepareStatement(query);
		pstmt.setString(1, matnr);
		pstmt.setString(2, hogi);
		pstmt.setString(3, arbpl);
		rs = pstmt.executeQuery();
		if(rs.next())
		{
			rst = rs.getInt("CNT");//svo.getLastLoginTime();
		}
		
	}
	catch(Exception e) {

	} finally {
		 if ( rs != null ) try{rs.close();}catch(SQLException e){} 
	     if ( pstmt != null ) try{pstmt.close();}catch(SQLException e){}
	     if ( conn != null ) try{conn.close();}catch(SQLException e){}
	}
	return rst;
}
/**
 * 用于保存数据
 * @param matnr
 * @param hogi
 * @param arbpl
 * @param plnal
 * @return
 */
public static int getSaveHogiInfo(String matnr,String hogi,String arbpl,String plnal) {
	int llt = 0;
	Connection conn = null;
	ResultSet rs = null;
	PreparedStatement pstmt = null;
	String query = "";
	int ckcnt = 0;
    int cnt = 0;
	try {
		//SessionVO svo = (SessionVO)SM.getSession().get("SessionVO");			
		conn = new DBConn().dbConn();
		ckcnt = getCkHogiInfo(matnr,hogi,arbpl);
		if(ckcnt>0)
		{
			query  = "UPDATE dbo.DI_CHK_HOGI_INFO SET UPDDTTM=GETDATE()  ";
			query += "WHERE KMATN=? AND HOGI = ? AND ARBPL=?  ";

			pstmt = conn.prepareStatement(query);
			pstmt.setString(1, matnr);
			pstmt.setString(2, hogi);	
			pstmt.setString(3, arbpl);	
		}
		else
		{
			query  = "INSERT INTO dbo.DI_CHK_HOGI_INFO( KMATN ,HOGI ,ARBPL ,PLNAL ,USERID , INSDTTM )VALUES (?,?,?,?,?,?) ";				
			
			pstmt = conn.prepareStatement(query);
			pstmt.setString(1, matnr);
			pstmt.setString(2, hogi);
			pstmt.setString(3, arbpl);
			pstmt.setString(4, plnal);
			pstmt.setString(5, null);
			pstmt.setString(6, CM.formattedDate(new Date(), "yyyy-MM-dd HH:mm:ss"));
		}
					
		llt = pstmt.executeUpdate();			
		

	} catch(Exception e) {
		
	} finally {
		 if ( rs != null ) try{rs.close();}catch(SQLException e){} 
	     if ( pstmt != null ) try{pstmt.close();}catch(SQLException e){}
	     if ( conn != null ) try{conn.close();}catch(SQLException e){}
	}
	return llt;
}
/**
 * 
 * @param kmatn
 * @param hogi
 * @param arbpl
 * @return
 */
public static int getDelHogiInfo(String kmatn,String hogi,String arbpl) {
	int llt = 0;
	Connection conn = null;
	ResultSet rs = null;
	PreparedStatement pstmt = null;
	String query = "";
	int ckcnt = 0;
    int cnt = 0;     

    try
    {
        conn = new DBConn().dbConn();//数据库连接
        
    	query  = "DELETE FROM dbo.DI_CHK_HOGI_INFO  ";
		query += "WHERE KMATN=? AND HOGI = ? AND ARBPL=?  ";

		pstmt = conn.prepareStatement(query);
		pstmt.setString(1, kmatn);
		pstmt.setString(2, hogi);	
		pstmt.setString(3, arbpl);	
		llt = pstmt.executeUpdate();
    }
    catch(Exception e)
    {
     System.out.println("Delete Failure");	
    }finally {
		 if ( rs != null ) try{rs.close();}catch(SQLException e){} 
	     if ( pstmt != null ) try{pstmt.close();}catch(SQLException e){}
	     if ( conn != null ) try{conn.close();}catch(SQLException e){}
	}
    
    return llt;
}

}
7.效果图
查询效果:
在这里插入图片描述
保存效果:
在这里插入图片描述
删除效果:
在这里插入图片描述
成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值