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

Maven多模块项目上传至git

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

Maven多模块项目上传至git

javaweb项目上传git
  1. 创建一个名为Servlet_Exam的多模块maven项目, 其中有三个子模块分别为
    1. 基础模块Servlet_pojo
    2. 基础模块Servlet_dao
    3. web模块Servlet_web

创建父模块Servlet_Exam


添加三个子模块

然后创建两个子模块分别是 Servlet_dao,基础模块Servlet_pojo添加的方式跟创建父模块一致

添加servlet_web模块

其余步骤跟上面一致,不会创建Maven的同志可以看我上一篇博客


这是这几个项目的排版,以上的问题已经解决,下面开始设置其依赖关系: Servlet_web 依赖 Servlet_dao

Servlet_dao 依赖 Servlet_pojo

  1. 子模块功能实现说明
    1. 基础模块Servlet_pojo
      在该模块内定义一个bean,名称为User;
      其相应的属性: id(整型) name(字符串) age(整型) gender(字符)birthday(日期) hobbies(字符串数组)
public class User {
    private int id;
    private String name;
    private int age;
    private char gender;
    private Date birthday;
    private String hobbies;
    // TODO: 2022/5/9 生成对应的get和set方法 以及toString
}
  1. 基础模块Servlet_dao
    说明: 1. 数据库使用mysql数据库
    2. 创建一张User表, 表中的字段分别为:
    1. id 序号
    2. name 姓名
    3. age 年龄
    4. gender 性别
    5. birthday 生日
    6. hobbies 兴趣爱好
    7. createtime 创建时间(日期类型)
    8. updatetime 修改时间(日期类型)
create table user(
id int(10),
`name` varchar(50),
age int(10),
gender varchar(50),
birthday date,
hobbies varchar(50),
createTime date,
updateTime date
)

该模块主要用于定义数据库相关操作类与方法
该模块分别创建两个类: a. DBUtil b. UserDao
a. DBUtil在该类中封装jdbc连接mysql数据库方法(1. 数据库驱动获取方法 2.数据库关闭方法)
b. UserDao在该类中封装: 一个插入User对象到数据表的方法实现要求:

  1. createtime与updatetime两个字段值为当前时间并且为自动生成,不允许使用字符串固定值
    1.2. 插入的数据字符串类型使用中文
    1.3. id为自动生成(对顺序无要求)
  1. 一个通过id来得到相应User对象的方法
    创建DButil类首先要为Servlet_dao添加依赖

    接下来就可以完成DBUtil类的封装了
public class DBUtil {
    public static String url="jdbc:mysql://localhost:3306/exam";
    public static String drive="com.mysql.jdbc.Driver";



    
    static {
        try {
            Class.forName(drive);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    
    public static Connection getConnection(){
        try {
            return    DriverManager.getConnection(url,"root","root");
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;

    }

    
    public static void close(ResultSet rs, Statement st, Connection con){
        if(rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(st!=null){
            try {
                st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(con!=null){
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
     }

    }

UserDao的封装

public class UserDao {
    
    public int insertUser(User user){
        int n=0;
        Connection con= DBUtil.getConnection();
        PreparedStatement ps=null;
        ResultSet rs=null;
        String sql="insert into user(name,age,gender,birthday,hobbies,createTime,updateTime)values(?,?,?,?,?,now(),now())";
        try {
            ps=con.prepareStatement(sql);
            ps.setString(1,user.getName());
            ps.setInt(2,user.getAge());
            ps.setString(3,user.getGender()+"");
            ps.setDate(4,new Date(user.getBirthday().getTime()));
            ps.setString(5,user.getHobbies());
            n= ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        finally {
            DBUtil.close(rs,ps,con);
        }
        return n;
    }

    
    public User findId(int id){
        User user=null;
        Connection con=DBUtil.getConnection();
        PreparedStatement ps=null;
        ResultSet rs=null;
        String sql="select *from user where id=?";
        try {
            ps=con.prepareStatement(sql);
            ps.setInt(1,id);
            rs=ps.executeQuery();
            while (rs.next()){
                user=new User();
                user.setName(rs.getString("name"));
                user.setAge(rs.getInt("id"));
                user.setGender(rs.getString("gender").charAt(0));
                user.setBirthday(rs.getDate("birthday"));
                user.setHobbies(rs.getString("hobbies"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        finally {
            DBUtil.close(rs,ps,con);
        }

        return user;
    }
    
}

3、web模块Servlet_web
该模块用于前台展示信息
1. 在index.jsp页面中定义一个form表单,该表单需要向后台传递用户信息
要求:

  1. 使用post方式
  2. action: “insert”

index.jsp页面

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>


添加用户

用户名:
年龄:
性别:
生日:
爱好: 篮球 棒球 羽毛球

2、 创建一个InsertServlet类,继承HttpServlet类在该类相关方法中实现从前台获取数据,传递给Dao层进行插入

  1. 需要处理中文问题
  2. 插入成功,向前台返回"数据已成功录入!"

InsertServlet类

@WebServlet(urlPatterns = {"/insert.do"})
public class InsertServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        //获取表单数据
        String name=req.getParameter("name");
        String age=req.getParameter("age");
        String gender=req.getParameter("gender");
        String birthday=req.getParameter("birthday");
        String hobbies=req.getParameter("hobbies");
        //给user赋值
        User user=new User();
        user.setName(name);
        if(age!=null&&!age.equals("")){
            user.setAge(Integer.parseInt(age));
        }else{
            user.setAge(18);
        }
        user.setGender(gender.charAt(0));
        user.setBirthday( DataTools.dataStrToData(birthday));
        user.setHobbies(hobbies);
        UserDao dao=new UserDao();
        PrintWriter out= resp.getWriter();
        if(dao.insertUser(user)>=1){
            out.println("添加成功!!!");
        }else{
            out.println("添加失败!!!");
        }

    }
}

3、创建一个home.jsp页面 该页面定义一个form表单,用于输入用户id查询相应用户信息
要求:

  1. 使用get方式
  2. action: “update”

home.jps页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    查找用户


   
请输入ID:

4、创建一个UpdateServlet类,继承HttpServlet类该类用于返回用户信息
要求:

  1. 如果查询到了用户,就将信息返回至前台
  2. 如果查询不到用户,就向前台返回"该用户不存在"

UpdateServlet 实现

@WebServlet(urlPatterns = {"/update.do"})
public class UpdateServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        String id=req.getParameter("id");
        UserDao dao=new UserDao();
        PrintWriter out= resp.getWriter();
        if(id!=null&&!id.equals("")){
            if(dao.findId(Integer.parseInt(id))!=null){
                out.println(dao.findId(Integer.parseInt(id)).toString());
            }else{
                out.println("用户不存在");
            }
        }else{
            out.println("用户不存在");
        }
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       doGet(req,resp);
    }
}

4、

  1. 在码云创建名为"Servlet_Exam"的仓库,仓库设置为公开仓库而非私有;
  2. 并使用remote方式将本地仓库与远程仓库进行连接;
  3. 在本地创建.gitignore文件并对其进行配置;
    1. .gitignore配置要求:
    2. 只允许上传 “.java” “.xml” “.jsp” “.html”
  4. 将本地项目上传至远程仓库



这时仓库就已经创建好接下来就是使用IDEA把我们做的项目使用git管理




创建.gitignore文件对上传的文件进行过滤

*.class

#package file
*.war
*.ear

#dkiff3 ignore
*.orig

#maven ignore
target/

#eclipse ignore
.settings/
.project
.classpath

#idea
.idea/
/idea/
*.ipr
*.iml
*.iws

# temp file
*.log
*.cache
*.patch
*.tmp

# system ignore
.DS_Store
Thumbs.db

把文件提交到本地暂存区


然后去git仓库复制路径


如果出现异常

打开这里输入git push -u -f origin master强制提交

以上就是这个项目的全过程

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

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

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