精华内容
下载资源
问答
  • javaEE小项目

    2013-01-06 13:52:28
    一个javaEE小项目,对于初学者有参考价值。
  • 作业管理系统JavaEE小项目——作业管理系统(jsp+servlet+mysql)项目要求:项目前认识:一、Servlet二、JDBC三、jsp数据库构建用例图JDBC层model层Servlet层web界面(jsp)项目过程中发现的问题 JavaEE小项目——...

    JavaEE小项目——作业管理系统(jsp+servlet+mysql)

    项目要求:

    在这里插入图片描述

    项目前认识:

    一、Servlet

    Servlet 是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

    Servlet不同于JSP,虽然jsp本质也是一种servlet,但是jsp有着自己的定义, JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
    (更多说明二者的联系请到https://blog.csdn.net/anwarkanji/article/details/90526155 上浏览)

    二、JDBC

    JDBC 架构
    分为双层架构和三层架构。

    双层
    在这里插入图片描述
    Two-tier-Architecture-for-Data-Access
    作用:此架构中,Java Applet 或应用直接访问数据源。

    条件:要求 Driver 能与访问的数据库交互。

    机制:用户命令传给数据库或其他数据源,随之结果被返回。

    部署:数据源可以在另一台机器上,用户通过网络连接,称为 C/S配置(可以是内联网或互联网)。

    三层
    在这里插入图片描述
    Three-tier-Architecture-for-Data-Access
    侧架构特殊之处在于,引入中间层服务。

    流程:命令和结构都会经过该层。

    吸引:可以增加企业数据的访问控制,以及多种类型的更新;另外,也可简化应用的部署,并在多数情况下有性能优势。

    历史趋势: 以往,因性能问题,中间层都用 C 或 C++ 编写,随着优化编译器(将 Java 字节码 转为 高效的 特定机器码)和技术的发展,如EJB,Java 开始用于中间层的开发这也让 Java 的优势突显出现出来,使用 Java 作为服务器代码语言,JDBC随之被重视。

    三、jsp

    JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
    JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。

    数据库构建

    在这里插入图片描述
    分析项目要求,这里我设置了三张表,分别为student表,homework表和student_homework表。

    1.student表:
    设置两个变量:sno,sname
    分别对应学生学号和学生姓名。
    在这里插入图片描述
    2.homework表:
    设置两个变量:hno,htitle
    分别对应作业序号和作业题目。
    在这里插入图片描述

    3.student_homework表:
    设置五个变量:no,hno,sno,htitle,hcontent
    分别对应自增序号,作业序号,学号,作业题目,作业内容。
    在这里插入图片描述

    用例图

    在这里插入图片描述

    JDBC层

    1.StudentJdbc.java

    package com.java.code.class1.jdbc;
    import com.java.code.class1.model.Student;
    import java.sql.*;
    import java.util.ArrayList;
    import java.util.List;
    
    public class StudentJdbc {
        public static List<Student> selectAlls(){
            String url = "jdbc:mysql://127.0.0.1:3306/test2";
    
            String allUrl = url + "?user=root&password=991015";
    
            String driverName = "com.mysql.jdbc.Driver";
    
            String sqlString = "SELECT * FROM student";
    
            try {
                // 加载驱动
                Class.forName(driverName);
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            List<Student> list =new ArrayList<>();
            try(Connection connection =  DriverManager.getConnection(allUrl)) {
                try(Statement statement = connection.createStatement()){
                    try(ResultSet resultSet = statement.executeQuery(sqlString)){
                        // 获取执行结果
                        while (resultSet.next()){
                            Student s= new Student();
                            s.setSno(resultSet.getInt("sno"));
                            s.setSname(resultSet.getString("sname"));
                            list.add(s);
                        }
                    }
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return list;
    
        }
        public static void addStudent(Student s) throws SQLException {
            String url = "jdbc:mysql://127.0.0.1:3306/test2";
    
            String allUrl = url + "?user=root&password=991015";
    
            String driverName = "com.mysql.jdbc.Driver";
    
            Connection connection =  DriverManager.getConnection(allUrl);
    
    
            try {
                String sqlString = "insert into student(sno,sname) values (?,?)";
                PreparedStatement t = connection.prepareStatement(sqlString);
                t.setInt(1,s.getSno());
                t.setString(2,s.getSname());
                t.execute();
                Class.forName(driverName);// 加载驱动
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        }
    
    }
    
    

    2.HomeworkJdbc.java

    package com.java.code.class1.jdbc;
    import com.java.code.class1.model.Homework;
    import java.sql.*;
    import java.util.ArrayList;
    import java.util.List;
    
    public class HomeworkJdbc {
        public static List<Homework> selectAllh(){
            String url = "jdbc:mysql://127.0.0.1:3306/test2";
    
            String allUrl = url + "?user=root&password=991015";
    
            String driverName = "com.mysql.jdbc.Driver";
    
            String sqlString = "SELECT * FROM homework";
    
            try {
                // 加载驱动
                Class.forName(driverName);
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            List<Homework> list =new ArrayList<>();
            try(Connection connection =  DriverManager.getConnection(allUrl)) {
                try(Statement statement = connection.createStatement()){
                    try(ResultSet resultSet = statement.executeQuery(sqlString)){
                        // 获取执行结果
                        while (resultSet.next()){
                            Homework h = new Homework();
                            h.setHno(resultSet.getInt("hno"));
                            h.setHtitle(resultSet.getString("htitle"));
                            list.add(h);
                        }
                    }
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return list;
        }
        public static void addHomework(Homework h) throws SQLException {
            String url = "jdbc:mysql://127.0.0.1:3306/test2";
    
            String allUrl = url + "?user=root&password=991015";
    
            String driverName = "com.mysql.jdbc.Driver";
    
            Connection connection =  DriverManager.getConnection(allUrl);
    
    
            try {
                String sqlString = "insert into homework(hno,htitle) values (?,?) ";
                PreparedStatement t = connection.prepareStatement(sqlString);
                t.setInt(1,h.getHno());
                t.setString(2,h.getHtitle());
                t.execute();
                Class.forName(driverName);// 加载驱动
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        }
    
    }
    
    

    3.StudentHomework.java

    package com.java.code.class1.jdbc;
    import com.java.code.class1.model.StudentHomework;
    import java.sql.*;
    import java.util.ArrayList;
    import java.util.List;
    
    public class StudentHomeworkJdbc {
        public static void main(String[] args) {
            List<StudentHomework> list = selectALL();
            for(StudentHomework sh :list){
                System.out.println(sh.getHcontent());
            }
    
        }
    
        public static List<StudentHomework> selectALL(){
            String url = "jdbc:mysql://127.0.0.1:3306/test2";
    
            String allUrl = url + "?user=root&password=991015";
    
            String driverName = "com.mysql.jdbc.Driver";
    
            String sqlString = "SELECT * FROM student_homework";
    
            try {
                // 加载驱动
                Class.forName(driverName);
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            List<StudentHomework> list =new ArrayList<>();
            try(Connection connection =  DriverManager.getConnection(allUrl)) {
                try(Statement statement = connection.createStatement()){
                    try(ResultSet resultSet = statement.executeQuery(sqlString)){
                        // 获取执行结果
                        while (resultSet.next()){
                            StudentHomework sh= new StudentHomework();
                            sh.setNo(resultSet.getInt("no"));
                            sh.setHno(resultSet.getInt("hno"));
                            sh.setSno(resultSet.getInt("sno"));
                            sh.setHtitle(resultSet.getString("htitle"));
                            sh.setHcontent(resultSet.getString("hcontent"));
                            list.add(sh);
                        }
                    }
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return list;
    
        }
        public static void handHomework(StudentHomework sh)throws SQLException{
            String url = "jdbc:mysql://127.0.0.1:3306/test2";
    
            String allUrl = url + "?user=root&password=991015";
    
            String driverName = "com.mysql.jdbc.Driver";
    
            Connection connection =  DriverManager.getConnection(allUrl);
    
    
            try {
                String sqlString = "insert into student_homework(no, hno, sno, htitle, hcontent) values (?,?,?,?,?)";
                PreparedStatement t = connection.prepareStatement(sqlString);
                List<StudentHomework> s = StudentHomeworkJdbc.selectALL();
                t.setInt(1,s.size()+1);
                t.setInt(2,sh.getHno());
                t.setInt(3,sh.getSno());
                t.setString(4,sh.getHtitle());
                t.setString(5,sh.getHcontent());
                t.execute();
                Class.forName(driverName);// 加载驱动
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
    
        }
    }
    
    

    model层

    1.Student.java

    package com.java.code.class1.model;
    
    public class Student {
    
        private int sno;
    
        private String sname;
    
        public int getSno() {
            return sno;
        }
    
        public void setSno(int sno) {
            this.sno = sno;
        }
    
        public String getSname() {
            return sname;
        }
    
        public void setSname(String sname) {
            this.sname = sname;
        }
    }
    
    

    2.Homework.java

    package com.java.code.class1.model;
    
    public class Homework {
    
        private int hno;
    
        private String htitle;
    
        public int getHno() {
            return hno;
        }
    
        public void setHno(int hno) {
            this.hno = hno;
        }
    
        public String getHtitle() {
            return htitle;
        }
    
        public void setHtitle(String htitle) {
            this.htitle = htitle;
        }
    }
    
    

    3.StudentHomework.java

    package com.java.code.class1.model;
    
    public class StudentHomework {
        private int no;
    
        private int hno;
    
        private int sno;
    
        private String htitle;
    
        private String hcontent;
    
        public int getNo() {
            return no;
        }
    
        public void setNo(int no) {
            this.no = no;
        }
    
        public int getHno() {
            return hno;
        }
    
        public void setHno(int hno) {
            this.hno = hno;
        }
    
        public int getSno() {
            return sno;
        }
    
        public void setSno(int sno) {
            this.sno = sno;
        }
    
        public String getHtitle() {
            return htitle;
        }
    
        public void setHtitle(String htitle) {
            this.htitle = htitle;
        }
    
        public String getHcontent() {
            return hcontent;
        }
    
        public void setHcontent(String hcontent) {
            this.hcontent = hcontent;
        }
    }
    
    

    Servlet层

    1.StudentServlet.java

    package com.java.code.class1.servlet;
    import com.java.code.class1.jdbc.StudentJdbc;
    import com.java.code.class1.model.Student;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.util.List;
    
    @WebServlet("/student")
    public class StudentServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
                List<Student> s =  StudentJdbc.selectAlls();
                req.setCharacterEncoding("UTF-8");
                resp.setContentType("text/html;charset=UTF-8");
                req.setAttribute("studentlist",s);
                req.getRequestDispatcher("student.jsp").forward(req,resp);
        }
    }
    
    

    2.HomeworkServlet.java

    package com.java.code.class1.servlet;
    import com.java.code.class1.jdbc.HomeworkJdbc;
    import com.java.code.class1.model.Homework;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.util.List;
    
    @WebServlet("/homework")
    public class HomeworkServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            List<Homework> h =  HomeworkJdbc.selectAllh();
            req.setCharacterEncoding("UTF-8");
            resp.setContentType("text/html;charset=UTF-8");
            req.setAttribute("homeworklist",h);
            req.getRequestDispatcher("homework.jsp").forward(req,resp);
        }
    }
    
    

    3.StudentHomeworkServlet.java

    package com.java.code.class1.servlet;
    import com.java.code.class1.jdbc.StudentHomeworkJdbc;
    import com.java.code.class1.model.StudentHomework;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.util.List;
    
    @WebServlet("/List")
    public class StudentHomeworkServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            req.setCharacterEncoding("UTF-8");
            resp.setContentType("text/html;charset=UTF-8");
            List<StudentHomework> list = StudentHomeworkJdbc.selectALL();
            req.setAttribute("list", list);
            req.getRequestDispatcher("index.jsp").forward(req, resp);
        }
    }
    

    4.HandinServlet.java

    package com.java.code.class1.servlet;
    import com.java.code.class1.jdbc.StudentHomeworkJdbc;
    import com.java.code.class1.model.StudentHomework;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.util.List;
    
    @WebServlet("/hand")
    public class HandinServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            req.setCharacterEncoding("UTF-8");
            resp.setContentType("text/html;charset=UTF-8");
            List<StudentHomework> sh =  StudentHomeworkJdbc.selectALL();
            req.setAttribute("studenthomeworklist",sh);
            req.getRequestDispatcher("handin.jsp").forward(req,resp);
        }
    }
    
    

    5.AddStudentServlet.java

    package com.java.code.class1.servlet;
    import com.java.code.class1.jdbc.StudentJdbc;
    import com.java.code.class1.model.Student;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.sql.SQLException;
    
    @WebServlet("/addstudent")
    public class AddStudentServlet extends HttpServlet {
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
    
            try {
                req.setCharacterEncoding("UTF-8");
                resp.setContentType("text/html;charset=UTF-8");
                Student s =new Student();
                s.setSno(Integer.parseInt(req.getParameter("studentno")));
                s.setSname(req.getParameter("studentname"));
                StudentJdbc.addStudent(s);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            resp.setHeader("refresh","5;URL=index.jsp");
            }
        }
    
    
    

    6.AddHomeworkServlet.java

    package com.java.code.class1.servlet;
    import com.java.code.class1.jdbc.HomeworkJdbc;
    import com.java.code.class1.model.Homework;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.sql.SQLException;
    
    @WebServlet("/addhomework")
    public class AddHomeworkServlet extends HttpServlet {
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            try {
                req.setCharacterEncoding("UTF-8");
                resp.setContentType("text/html;charset=UTF-8");
                Homework h =new Homework();
                h.setHno(Integer.parseInt(req.getParameter("homeworkno")));
                h.setHtitle(req.getParameter("homeworktitle"));
                HomeworkJdbc.addHomework(h);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            resp.setHeader("refresh","5;URL=index.jsp");
        }
    
    }
    
    

    7.AddAnswer.java

    package com.java.code.class1.servlet;
    import com.java.code.class1.jdbc.StudentHomeworkJdbc;
    import com.java.code.class1.model.StudentHomework;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.sql.SQLException;
    
    @WebServlet("/handin")
    public class AddAnswer extends HttpServlet {
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            try{
                req.setCharacterEncoding("UTF-8");
                resp.setContentType("text/html;charset=UTF-8");
                StudentHomework sh =new StudentHomework();
                sh.setSno(Integer.parseInt(req.getParameter("studentno")));
                sh.setHno(Integer.parseInt(req.getParameter("homeworkno")));
                sh.setHtitle(req.getParameter("homeworktitle"));
                sh.setHcontent(req.getParameter("homeworkcontent"));
                StudentHomeworkJdbc.handHomework(sh);
            }catch (SQLException e) {
                e.printStackTrace();
            }
            resp.setHeader("refresh","5;URL=index.jsp");
        }
    }
    
    

    web界面(jsp)

    1.index.jsp

    <%--
      Created by IntelliJ IDEA.
      User: win7
      Date: 2020/3/9
      Time: 0:16
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>作业管理系统</title>
      </head>
      <body align = "center">
    
       <h1>作 业 管 理 系 统</h1>
       <br><br>
         <input type = "button" value = "添加学生" style="width:160px;height: 60px;font-size:16px" onclick = "window.location.href = 'student.jsp'">
      <br><br>
         <input type = "button" value = "添加作业" style="width:160px;height: 60px;font-size:16px" onclick = "window.location.href = 'homework.jsp'">
      <br><br>
         <input type = "button" value = "提交作业" style="width:160px;height: 60px;font-size:16px" onclick = "window.location.href = 'handin.jsp'">
      <br><br>
         <input type = "button" value = "显示作业提交情况" style="width:160px;height: 60px;font-size:16px" onclick = "window.location.href = 'studenthomework.jsp'">
    
      </body>
    </html>
    

    主界面:
    在这里插入图片描述
    2.homework.jsp

    <%--
      Created by IntelliJ IDEA.
      User: win7
      Date: 2020/3/12
      Time: 21:52
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>添加作业</title>
    </head>
    <body align="center">
    <h1>添 加 作 业</h1>
    
    <form action="addhomework" method="post">
        作业序号:<label>
        <input type="text" name="homeworkno">
    </label><br>
        作业题目:<label>
        <input type="text" name="homeworktitle">
    </label><br>
        <input type="submit" id="submit" value="添加作业">
    
    </form>
    </body>
    </html>
    
    

    添加作业界面:
    在这里插入图片描述
    3.student.jsp

    <%--
      Created by IntelliJ IDEA.
      User: win7
      Date: 2020/3/12
      Time: 21:51
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>添加学生</title>
    </head>
    <body align="center">
    <h1>添 加 学 生</h1>
    
    <form action="addstudent" method="post">
                学生I D:<label>
        <input type="text" name="studentno">
    </label><br>
                学生姓名:<label>
        <input type="text" name="studentname">
    </label><br>
         <input type="submit" id="submit" value="添加学生">
    
    </form>
    </body>
    </html>
    

    添加学生界面:
    在这里插入图片描述

    3.handin.jsp

    <%--
      Created by IntelliJ IDEA.
      User: win7
      Date: 2020/3/12
      Time: 21:52
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>提交作业</title>
    </head>
    <body align="center">
    <h1>提 交 作 业</h1>
    <form action="handin" method="post">
        学生学号:<label>
        <input type="text" name="studentno">
    </label><br>
        作业序号:<label>
        <input type="text" name="homeworkno">
    </label><br>
        作业题目:<label>
        <input type="text" name="homeworktitle">
    </label><br>
        作业内容:<label>
        <input type="text" name="homeworkcontent">
    </label><br>
        <input type="submit" id="submit" value="上交作业">
    
    </form>
    </body>
    </html>
    
    

    提交作业界面:
    在这里插入图片描述
    4.studenthomework.jsp

    <%@ page import="java.util.List" %>
    <%@ page import="com.java.code.class1.model.StudentHomework" %>
    <%@ page import="com.java.code.class1.jdbc.StudentHomeworkJdbc" %>
    <%--
      Created by IntelliJ IDEA.
      User: win7
      Date: 2020/3/9
      Time: 11:05
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>StudentHomework</title>
    </head>
    <body>
    <table align="center" width="960" border="1"
           bgcolor="black" cellpadding="1" cellspacing="1">
        <tr align="center" bgcolor="#7fffd4" height="50">
            <td>ID</td>
            <td>作业编号</td>
            <td>学生学号</td>
            <td>作业标题</td>
            <td>作业内容</td>
        </tr>
        <%
          List<StudentHomework> list = StudentHomeworkJdbc.selectALL();
          if(null == list || list.size() <= 0){
            out.print("None data.");
          }else {
            for (StudentHomework sh : list){
        %>
        <tr align="center" bgcolor="white" height="30">
            <td><%=sh.getNo()%></td>
            <td><%=sh.getHno()%></td>
            <td><%=sh.getSno()%></td>
            <td><%=sh.getHtitle()%></td>
            <td><%=sh.getHcontent()%></td>
        </tr>
            <%
            }
          }
        %>
    </table>
    </body>
    </html>
    
    

    查看作业界面:
    在这里插入图片描述
    项目Github链接:https://github.com/coach9910/test2

    项目过程中发现的问题

    1.没有弄清楚mysql数据类型与java类型如何对应,也通过很多博客区了解到。
    在这里插入图片描述
    可以戳这里了解https://blog.csdn.net/woshifeixingzhuiyue/article/details/43529329
    2.页面报错404:
    报错:The origin server did not find a current representation for the target resource
    这个问题就有很多方面了,多数都是代码逻辑的问题,还有一部分是由于开始Tomcat默认url没设置好。
    这里也是我遇到的一个问题,供大家理解:
    https://blog.csdn.net/qq_26817225/article/details/82587652?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
    3.很多很多很多很多乱码问题,上网查了无数种方法,几乎每种都试过,可谓是万物都可UTF-8.
    这也有一份解决方案:https://blog.csdn.net/qq_31868147/article/details/104107696?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
    4.intellij idea 警告 SQL dialect is not configured
    (是由于设置sql语句的时候,没有去改成mysql,默认的是Generic SQL)
    在这里插入图片描述
    这是解决方法:https://blog.csdn.net/littlehaes/article/details/104139611
    5.最后:就在刚刚,还经历了项目完成前的最后一个bug!IDEA上传到github出错,也是最后一块绊脚石了,附上解决方案:
    https://blog.csdn.net/u011493599/article/details/54378461

    展开全文
  • JavaEE资源项目

    2016-06-09 19:38:53
    JavaEE资源项目
  • JavaEE:JavaEE 项目-源码

    2021-06-25 04:22:59
    JavaEE JavaEE 项目
  • JavaEE后端项目

    2018-12-29 17:24:33
    JavaEE后端工程项目,2018年的项目,可以用来学习Java框架的项目。包括前端,后端等
  • javaee网盘项目

    2019-02-21 21:37:54
    javaee用servlet写的网盘项目,实现了增删改查,用的oracle数据库,前端用的bootstrap和layui,压缩包里面有nacicat备份的数据库。主要功能有登陆注册,上传文件,下载文件,搜索文件,修改用户信息。文件排行榜等。
  • JavaEE WEB小项目

    2015-12-16 09:29:04
    很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 4、本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 5、另外增加了一个ant构建脚本...
  • JavaEETestApplication javaee测试项目
  • JavaEE电商项目8天速成

    2016-12-20 16:50:10
    一个完整的JavaEE项目流程,其中包含代码
  • VIP:JavaEE项目-源码

    2021-07-06 03:23:29
    贵宾 JavaEE项目
  • JAVAEE期末项目总结报告.doc
  • javaee登录项目源码

    2020-11-20 15:02:15
    用户登录案例需求: 1.编写login.html登录页面 username & password 两个输入框 2.使用Druid数据库连接池技术,操作mysql,day14数据库中user表 3.使用JdbcTemplate技术封装JDBC 4.... 5....
  • javaEE项目

    2015-01-07 09:46:38
    做的实现功能的项目,JSON格式的开发代码!
  • JavaEE1 单项JavaEE项目
  • JavaEE2014 数据库中令牌存储的 MySQL 脚本:CREATE TABLE oauth_access_token ( token_id varchar(256) DEFAULT NULL, token blob, authentication_id varchar(256) DEFAULT NULL, user_name varchar(256) DEFAULT...
  • javaEE项目

    2018-06-22 12:25:45
    javaEEhibernate利用,实现逆向数据库连接,增删查改功能
  • javaee 项目源码

    2011-12-12 01:25:10
    javaee 项目源码
  • JavaEE+项目案例+(代码+数据库)
  • JavaEE项目 FMI中的JavaEE课程项目 1-> Maven项目pom.xml 2->项目->属性->项目构面->启用JPA
  • javaEE项目开发

    2018-10-18 10:41:39
    JavaEE试题库资源详尽,有很多类型的题库,仅供参考.
  • JavaEE项目开发脚手架

    2019-11-03 16:55:04
    JavaEE项目开发脚手架(公众号:kaitao-1234567,《亿级流量网站架构核心技术》)
  • JavaEE图书商城项目

    2019-01-26 16:26:10
    JavaEE的图书商城项目,基于MySQL和JavaEE,MVC三层架构设计体系
  • 包含所有源码 数据表 JSP 页面 从客人来店-入座-看菜单-点餐-结账一整套流程。 包含餐位管理,菜品,菜品类型管理,菜品销量排行。季度营业额查询等......
  • JavaEE项目SSM项目所需全部jar包(mysql),使用与Eclipse、Myeclipse等IDE中使用
  • 基于lucene的开发JavaEE项目 基于lucene的开发JavaEE项目 基于lucene的开发JavaEE项目 基于lucene的开发JavaEE项目 基于lucene的开发JavaEE项目
  • JavaEE各个知识点的项目源代码以及每个知识点的学习心得,学习笔记
  • JavaEE入门项目 (仍然不完整) 描述 该项目包含几个Maven示例项目,这些项目归为一个Maven项目。 它包含一个战争项目,一个ejb项目,一个ear项目和父项目。 克隆 该代码可以照常使用 git clone ...
  • JavaEE web项目目录结构

    千次阅读 2016-03-31 21:19:19
    JavaEE项目中(大多数都是web项目),有一些在业界中耳熟能详的术语,比如: dao(数据访问对象):持久层,主要负责与数据库打交道,从模式的角度来说,dao中不应该有业务逻辑; dto(数据传输对象

    转自:http://my.oschina.net/kzhou/blog/108971

    一个好的、清晰的目录结构可以方便日后的维护,可以帮助维护人员快速的定位到代码文件;

    JavaEE的项目中(大多数都是web项目),有一些在业界中耳熟能详的术语,比如:

    dao(数据访问对象):持久层,主要负责与数据库打交道,从模式的角度来说,dao中不应该有业务逻辑;

    dto(数据传输对象):层间传递参数的对象;早期,方法的参数都是直接填写的,如:void method(int i,int j);

    这种直接填写的参数有一些不方便之处,就是参数的顺序要一一对应,两三个参数倒是能应付,要是10个,8个的话,谁都得蒙圈;所以后来提出了DTO,一个基于javabean规范的对象,用于封装参数。另外也可以考虑使用Map来封装参数,但用Map封装参数的话,需要明确key的定义;

    service(BO) -  服务层,又叫业务层,我个人觉得业务层比较贴切;早期有一帮人把这一层成为BO(业务对象).

    该层主要是放置业务逻辑的,涉及到的数据库操作就调用dao。有些小型系统,我个人建议可以将这层去掉,直接将业务逻辑编写在dao层中,少一层是一层啊;

    controller(action) : 这货是mvc中的‘c’,属于web前端,位于view与service层之间。

    ok,写到这,与java相关的都介绍完了。下边是一些与web相关的内容:

    编写web,主要包括:html,css,javascript,images等,还有就是jsp,或者模版文件了;

    有了上边的内容,那么建立一个合理清晰的项目目录就不难了;

    下边是我推荐的一个目录结构:


    这是一个标准的eclipse工程;其中自定义的目录有:

    doc - 主要存放与该项目相关的文档,比如er图、用例文档、设计文档、用户使用手册等等。恺哥的建议是,尽量将项目相关的东西放在一起,一并加到版本控制库进行管理,省着到时候张三一份,李四一份,都搞不清谁的是最新版本了,更有甚的是,费了九牛二虎之力写的文档最后找不到了。

    src - 这是存放java以及配置文件的主要目录,其中有:

    dao / dto / test

    此处的包命名规则,我个人建议是这样:

    用dao包举例:

    dao的前缀,是签名;如:net.oschina.dao。其中net.oschina就是签名前缀;

    dao的后缀,是模块名称;如:net.oschina.dao.blog。其中blog就是模块名称

    对于dto下边是否还需要按照模块进行拆包,取决于系统的规模,如果规模很大,一个模块就有很多dto的话,那还是建议与dao的模块名称规则一致,比如:net.oschina.dto.blog

    为什么没有service层?我个人的观点是能少一层就少一层,越简单越好,所以我提倡将业务逻辑与数据访问做到一起,这样也方便维护代码的时候,用ctrl跳来跳去。

    test 目录是存放一些测试文件

    web层的目录结构:

    标准的javaee规范要求,webapp必须有一个命名为WEB-INF的目录,在该目录之外的资源,用户是可以通过浏览器进行直接访问的,位于该目录下的所有资源,用户通过浏览器是无法访问的,但内部servlet是可以进行调用的。所以很多mvc框架(如:springmvc)提倡,将jsp文件放在WEB-INF目录下进行保护,所有的jsp访问都通过servlet进行跳转。

    其实web层目录结构没啥好解释的,已经一目了然了。

    展开全文
  • JavaEE大型项目实战视频教程

    千次阅读 2015-03-02 14:32:03
    基于JavaEE&&移动平台的企业级房地产ERP采购系统全程开发实录 课程分类:Java框架 适合人群:中级 课时数量:220课时 用到技术:MyEclipse,Tomcate,Spring MVC,MyBatis 涉及项目:移动平台的房地产ERP采购系统...
    基于JavaEE&&移动平台的企业级房地产ERP采购系统全程开发实录
    
    课程分类:Java框架
    适合人群:中级
    课时数量:220课时
    用到技术:MyEclipse,Tomcate,Spring MVC,MyBatis
    涉及项目:移动平台的房地产ERP采购系统全程开发实录

    咨询qq:1840215592


    针对岗位
    Java高级软件开发工程师,Android开发工程师。
    JavaEE大型项目实战视频教程详细查看: http://www.ibeifeng.com/goods-458.html
    课程大纲
    第一季:采购系统

    1 课程介绍
    2 基础框架数据库设计
    3 组织机构管理功能
    4 选人组件的开发
    5角色管理
    6 数据字典
    7 权限管理
    8 采购系统需求分析与数据库设计
    9 项目信息设置与赋权
    10 采购类型管理
    11 招标模板管理
    12 供应商分类管理
    13 考核试题管理
    14 考核试卷管理
    15 供应商管理:供应商基础信息,订单管理,供应商考核
    16 采购计划的制定与采购流程
    第二季:客户关系销售系统
    1 需求分析
    2 数据库设计
    3 销售项目管理与赋权
    4 套打设置
    5 房间管理
    6 客户信息跟踪
    7 销售计划管理 8 销售方案管理
    9 工作流底层原理剖析
    10 WEB建模的集成与流程监控功能
    11 售后调查管理
    12 交易管理
    13 财务管理
    14 报表
    第三季:成本控制系统
    1 建立成本核算体系
    2 目标成本管理
    3 项目进度计划管理
    4 合作伙伴管理
    5 甲供材管理
    6 合同登记
    7 合同台账 8 付款管理
    9 成本控制管理
    10 动态投资计划
    11 现金流预测
    12 辅助功能:数据备份与恢复,操作日志,文档管理
    13 报表
    第四季:Android软件
    1 建立1 Android开发环境搭建
    2 Activity基础讲解
    3 SQLite讲解
    4 内容提供者讲解
    5 布局管理器讲解 6 原型设计
    7 待办集成
    8 组织机构集成
    9 数据统计集成
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,006
精华内容 36,402
关键字:

javaee小项目

java 订阅