栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Struts之增删改查

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Struts之增删改查

一、新建maven项目

详细请看Maven的安装与配置及其使用_小依不秃头的博客-CSDN博客

二、导入pom.xml的相关依赖

修改web.xml由2.3至3.1


         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">


更改jdk由1.5到1.8


Dynamic Web Module     2.3改为3.1    Java     1.5改为1.8


导入jar包——>maven的pom.xml

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    4.0.0
    com.xhy
    SSH_struts
    war
    0.0.1-SNAPSHOT
    SSH_struts Maven Webapp
    http://maven.apache.org
    
    
    UTF-8
    1.8
    1.8
    3.7.0
    
   
    5.1.44
   
    4.12
    4.0.0
    2.9.3
    1.2
    1.1.2
    8.0.47
    1.9.3
    1.6.1
    1.1.6
    2.5.13
 

 
   
            org.apache.struts
            struts2-core
            ${struts2-core.version}
        

  
   
      jaxen
      jaxen
      ${jaxen.version}
   

   
      dom4j
      dom4j
      ${dom4j.version}
   


   
      commons-beanutils
      commons-beanutils
      ${commons-beanutils.version}
   

   
   
      mysql
      mysql-connector-java
      ${mysql.version}
   

   
      junit
      junit
      ${junit.version}
      test
   

   
      javax.servlet
      javax.servlet-api
      ${servlet.version}
      provided
   

   
      com.fasterxml.jackson.core
      jackson-databind
      ${jackson.version}
   

   
      com.fasterxml.jackson.core
      jackson-core
      ${jackson.version}
   

   
      com.fasterxml.jackson.core
      jackson-annotations
      ${jackson.version}
   

   
      jstl
      jstl
      ${jstl.version}
   

   
      taglibs
      standard
      ${standard.version}
   

   
      org.apache.tomcat
      tomcat-jsp-api
      ${tomcat-jsp-api.version}
   

   
      org.projectlombok
      lombok
      1.18.10
      provided
   

   
      com.belerweb
      pinyin4j
      2.5.0
   

   
      com.github.davidcarboni
      encrypted-file-upload
      2.1.0
   

 
    
        SSH_struts
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.7.0
                
                    1.8
                    1.8
                    UTF-8
                

            

        

    


 

右键检查(Maven test)jar包下载是否完全(出现以下现象success说明下载完全) 测试之前需要给maven clean之后测试

三、导入帮助类以及tld文件

(网上书城的助手类) 

四、增删改查的代码

思路:

1.实体类 2.dao类 3.子控制器

对比mvc内容区别在于:

baseAction(优化baseAction)

           1.编码习惯问题,容易出现大小写配置错误

           2.每个子控制器都要实现对应接口,拿到request和respons对象

           3.向前端页面反馈的数据变量不统一

把这些问题向上抽取,统一管理,减少编码量

package com.zking.web;

import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public abstract  class baseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware,ModelDriven{
//               1.编码习惯问题,容易出现大小写配置错误
protected static final String LIST="list";
protected static final String TOLIST="toList";
protected static final String TOEDIT="toEdit";
    
//               2.每个子控制器都要实现对应接口,拿到request和respons对象
protected HttpServletRequest req;
protected HttpServletResponse resp;
private HttpSession session;
@Override
public void setServletResponse(HttpServletResponse response) {
    this.resp=response;
    
}
@Override
public void setServletRequest(HttpServletRequest request) {
    this.req=request;
    this.session=request.getSession();
    
}

//               3.向前端页面反馈的数据变量不统一
protected Object result;
protected String msg;
protected int code;
 
public Object getResult() {
    return result;
}
public void setResult(Object result) {
    this.result = result;
}
public String getMsg() {
    return msg;
}
public void setMsg(String msg) {
    this.msg = msg;
}
public int getCode() {
    return code;
}
public void setCode(int code) {
    this.code = code;
}


}
 

创建实体类(Clz)

package com.zking.entity;

public class Clz {
private int cid;
private String cname;
private String cteacher;
public int getCid() {
    return cid;
}
public void setCid(int cid) {
    this.cid = cid;
}
public String getCname() {
    return cname;
}
public void setCname(String cname) {
    this.cname = cname;
}
public String getCteacher() {
    return cteacher;
}
public void setCteacher(String cteacher) {
    this.cteacher = cteacher;
}
@Override
public String toString() {
    return "Clz [cid=" + cid + ", cname=" + cname + ", cteacher=" + cteacher + "]";
}
public Clz(int cid, String cname, String cteacher) {
    super();
    this.cid = cid;
    this.cname = cname;
    this.cteacher = cteacher;
}
public Clz() {
    // TODO Auto-generated constructor stub
}
}
 

Dao层ClzDao

package com.zking.dao;

import java.util.List;

import com.zking.entity.Clz;
import com.zking.util.baseDao;
import com.zking.util.PageBean;

public class ClzDao extends baseDao{

    public List list(Clz clz, PageBean pageBean) throws Exception {
        String sql = "select * from t_struts_class where 1=1 ";
        int cid=clz.getCid();
        if(cid !=0) {
            sql += " and cid ="+cid;
        }
        return super.executeQuery(sql,Clz.class, pageBean);
    }
    
    public void add(Clz t) throws Exception {
        String sql = "insert into t_struts_class values(?,?,?,?)";
        super.executeUpdate(sql,t,new String[] {"cid","cname","cteacher","pic"});
    }
    
    public void edit(Clz t) throws Exception {
        String sql = "update t_struts_class set cname=?,cteacher=?,pic=? where cid=?";
        super.executeUpdate(sql,t,new String[] {"cname","cteacher","pic","cid"});
    }
    
    public void del(Clz t) throws Exception {
        String sql = "delete t_truts_class where cid=?";
        super.executeUpdate(sql,t,new String[] {"cid"});
    }


}
 

子控制器ClzAction(web层)

package com.zking.web;

import com.zking.dao.ClzDao;
import com.zking.entity.Clz;
import com.zking.util.PageBean;

public class ClzAction extends baseAction{
 private Clz clz=new Clz();
 private ClzDao clzDao=new ClzDao();
    @Override
    public Clz getModel() {
        // TODO Auto-generated method stub
        return clz;
    }
    
 public String list()throws Exception{
     PageBean pageBean=new PageBean();
     pageBean.setRequest(req);
    this.result= this.clzDao.list(clz, pageBean);
    this.req.setAttribute("result", result);
    this.req.setAttribute("pageBean", pageBean);
     return LIST;
 }
 
 public String toEdit()throws Exception{
     int cid= clz.getCid();
     if(cid!=0) {
         this.result=this.clzDao.list(clz, null).get(0);
         this.req.setAttribute("result", result);
     }
     return TOEDIT;
 }
 
 public String add()throws Exception{
     this.clzDao.add(clz);
        return TOLIST;

 }
 
public String edit()throws Exception{
    this.clzDao.edit(clz);
    return TOLIST;

 }

public String del()throws Exception{
    this.clzDao.del(clz);
    return TOLIST;

}
}
 

配置子控制器(stuts-sy.xml):


    /ClzList.jsp
    /ClzEdit.jsp
    
    /clz_list
    
    

jsp界面:

ClzEdit.jsp

<%@ page language='java' contentType='text/html; charset=UTF-8'
    pageEncoding='UTF-8'%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib prefix="z" uri="http://jsp.veryedu.cn"%>




    href='https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.css'
    rel='stylesheet'>
    src='https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/js/bootstrap.js'>
新增/修改书籍列表
 


    

        action="${pageContext.request.contextPath }/sy/Clz_${empty result ? 'add' : 'edit'}.action" method="post">
        cid:

        cname:

        cteacher:

        
    

 

ClzList.jsp

<%@ page language='java' contentType='text/html; charset=UTF-8'
    pageEncoding='UTF-8'%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib prefix="z" uri="http://jsp.veryedu.cn"%>




    href='https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.css'
    rel='stylesheet'>
    src='https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/js/bootstrap.js'>
书籍列表

.page-item input {
    padding: 0;
    width: 40px;
    height: 100%;
    text-align: center;
    margin: 0 6px;
}
 
.page-item input, .page-item b {
    line-height: 38px;
    float: left;
    font-weight: 400;
}
 
.page-item.go-input {
    margin: 0 10px;
}



    

        action="${pageContext.request.contextPath }/sy/clz_list.action" method='post'>
        
                             placeholder='请输入书籍名称'>
                
            
        
        
        新增
    

 
    
        
            
                
                
                
                
                
            
        
        
        
        

                
                
                
                
                
            
        
            
 
        
    
ID班级名字教员图片操作
${b.cid }${b.cname }${b.cteacher }${b.pic }
                >修改
                >删除
 
                
                

    
    <%--    --%>
    

增加修改

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/337016.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号