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

    2021-01-28 15:21:08
     我主要学习的是Java后端,当我学着做了一个web小项目之后对javaee项目也有了初步见解!  老师说万物皆对象,万物皆增删改查。我的web小项目也仅仅实现了增删改查。  正文来了:  我将其分解为三个部分。数据...
        

    作为一个学习加Java的小白,非常开心能记录下自己的成长历程。技术有限,请见谅!

       我主要学习的是Java后端,当我学着做了一个web小项目之后对javaee项目也有了初步见解!

       老师说万物皆对象,万物皆增删改查。我的web小项目也仅仅实现了增删改查。

     正文来了:

      我将其分解为三个部分。数据存储,数据操作,数据显示。分别技术是:MySQL存储对象数据,Javaee对数据进行增删改查操作,html+ajax+jquery数据的绑定,显示,页面的呈现。

      首先数据库部分:新建数据库和两张表,如下图:

     

     

     这是一张菜单表,dishes是菜品表,id为主键,description为此表外键,dtype是菜品类别表id为主键。新建好之后进行sql语句的增删改查测试(主键设置自动递增,添加时不需要添加id,自动序列添加):

    添加:insert into dishes (name,price,tid,img,description)values('红烧肉',8,'1','肥而不腻');

    查询:select d.*,t.name as tname from dishes d,dtype t where d.tid=t.id

    修改:update dishes set name='红烧鱼',price=99,img=2,description='肉质鲜美',tid=1 where id=1;

    删除:delete from dishes where id=1

    基础语句如上述,javaee操作是会用到。要多添加几条数据用以测试。

     

    第二部分,javaee后台编程:

    1,新建javaweb项目,而后新建包,类等。为了整洁美观,采用分层架构。我是七层架构,如下图:

     

     

     bean:实体类。对象属性,get,set,方法,tostring,构造函数。

    dao:定义增删改查四个方法,如图:

     dao.Impll:接口实现类,如图:

    DishesResultSetHandler:集合中遍历对象属性。如图:

     

     

     service:业务层,因为就增删改查,没什么业务,直接return dao层方法就是了。

    servlet:处理客户端的请求,代码太多,简单举例吧:

    DishesService service=new DishesServiceImpl();
        Gson gson=new Gson();
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            System.out.println(request.getQueryString());
            String type=request.getParameter("type");
            switch (type) {
            case "getDishesAll":
                getDishesAll(request,response);
                break;
    private void getDishesAll(HttpServletRequest request, HttpServletResponse response) {
            ResponseBody rb=new ResponseBody();
            rb.setData(service.getDishesAll());
            try {
                response.getWriter().write(gson.toJson(rb));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

    tools:连接池和dbutils技术,如图有注解:

     

     测试类:就是用了jUnit 5,test注解。就不贴图了。

    druid.properties:新建文件,连接本地数据库,我是用的阿里云;

     

     

    第三部分,前端。ok,到此为止,好像不能写了,字数到了应该。里面就是jQuery+Ajax,在就没有什么了。也可以网上找一个好看的HTML模板,然后用vue套,绑定数据,vue也有增删改查方法,很强大。官网看看就ok了。

     

     

     

     

    好像还能写卧槽。贴个图光标没了,以为不能写了,也难得搬下来了,Java是一个很强大的东西,写起来感觉比c舒服一点,也不像PHP一样有点杂糅的感觉。这就是我写的一个小项目,里面很多功能都没有写。就好比登录,这又涉及到session,cokie,为了安全再次涉及到过滤器,监听器等等。

    当然现在还只是一个小案例,都需要自己搭建环境,到后的spring框架,mvc框架等等主流框架之后,这一切都会变得很轻松。再到后的分布式集群,就给你更方便了,都不用自己操心,因为没那个条件和水平了。我也不知道说什么反正加油吧!

     

     

     

     

     

     

     

     

     

     








































       

     

     

     

     

     

     

     

      

    展开全文
  • javaweb小项目

    2014-01-09 21:44:59
    主要学习图片上传功能。使用sturts,spring hibernate三大框架!没有数据库!完整纯粹的源代码
  • JavaWeb小项目——网上书城-附件资源
  • 控制访问网站权限的javaWeb小项目
  • 解决全站编码问题的javaWeb小项目
  • JavaWeb小项目02home界面实现 创建表 CREATE TABLE `publish` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` varchar(200) NOT NULL, `nickname` varchar(50) NOT NULL, `content_txt` varchar(200) NOT ...

    JavaWeb小项目02home界面实现

    创建表

    CREATE TABLE `publish` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `date` varchar(200) NOT NULL,
      `nickname` varchar(50) NOT NULL,
      `content_txt` varchar(200) NOT NULL,
      `content_img` varchar(200) NOT NULL,
      `sign` varchar(255) NOT NULL,
      `username` varchar(20) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
    
    

    添加数据

    INSERT INTO `publish` VALUES ('6', '2020-9', '超级用户', '苏丹暴雨和洪涝灾害致死人数升至86人', 'http://29e5534ea20a8.cdn.sohucs.com/c_zoom,h_103/c_cut,x_0,y_0,w_898,h_599/os/news/b2a8fea0bf3da20c49100e0040563f6.jpg', '111', 'admin'), 
    ('9', '2020-9', '李鹏飞', '帅', 'http://29e5534ea20a8.cdn.sohucs.com/c_zoom,h_103/c_cut,x_0,y_0,w_898,h_599/os/news/b2a8fea0bf3da20c49100e0040563f6.jpg', '112', 'lipengfei'),
    ('14', '2020-71', '超级用户', '打开了撒娇看到撒开多久啊剋三六九等卢卡斯', './publish_img/logo.jpg', '1598603620227', 'admin'), ('15', '2020-71', '超级用户', 'Djdjjdndndjdjq', './publish_img/DF8FAFFE-CE25-4A1D-87E7-693B158CB0D8.jpeg', '1598604627621', 'admin'), 
    ('16', '2020-71', '超级用户', 'Hdjdjdbdb ', './publish_img/image.jpg', '1598604712939', 'admin'), ('17', '2020-71', '吴亦凡', '我很帅', './publish_img/4DB4EF0B-4588-4E4A-8E9A-41D057C40807.jpeg', '1598605395091', '13253689303'), 
    ('18', '2020-71', '李易峰', '我很帅', './publish_img/1E174559-5A5B-43E6-BE4D-9024608204BE.jpeg', '1598605645315', '13253689309');
    
    

    创建简单实体类POJO

    定义的时候一般和数据库表对应,不包含逻辑关系

    public class Publish {
        private int id;
        private String date;
        private String nickname;
        private String contentTxt;
        private String contentImg;
        private String sign;
        private String username;
    }
    

    使用alt+insert键快捷键选择Getter and Setter方法自动生成构造方法

    /*get set构造方法的快捷键是alt+insert键*/
    
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getDate() {
            return date;
        }
        public void setDate(String date) {
            this.date = date;
        }
        public String getNickname() {
            return nickname;
        }
        public void setNickname(String nickname) {
            this.nickname = nickname;
        }
        public String getContentTxt() {
            return contentTxt;
        }
        public void setContentTxt(String contentTxt) {
            this.contentTxt = contentTxt;
        }
        public String getContentImg() {
            return contentImg;
        }
        public void setContentImg(String contentImg) {
            this.contentImg = contentImg;
        }
        public String getSign() {
            return sign;
        }
        public void setSign(String sign) {
            this.sign = sign;
        }
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
    

    创建PublishDao方法

    利用Dao方法实现访问数据库,查询publish表并返回功能

    /*连接数据库,查询publish表中所有数据,
    打包成publish对象存入List<Publish>类型集合中返回*/
    public class PublishDao {
        public List<Publish> selectAll(){
            DBUtils utils = DBUtils.getInstance();
            Connection conn = null;
            PreparedStatement pst = null;
            ResultSet result = null;
            try {
                conn = utils.getConn();
                String  sql = "select * from publish";
                pst = conn.prepareStatement(sql);
                //执行查询,返回结果集
                result = pst.executeQuery(sql);
                List<Publish> list=new ArrayList<>();
                while (result.next()){
                    /*根据数据库表的列名获取数据*/
                    String nickname = result.getString("nickname");
                    String date = result.getString("date");
                    String contentTxt = result.getString("content_txt");
                    String contentImg = result.getString("content_img");
                    /*对于每条数据,实例化一个publish对象用于存储,并添加到list集合中*/
                    Publish publish =new Publish();
                    publish.setContentImg(contentImg);
                    publish.setContentTxt(contentTxt);
                    publish.setDate(date);
                    publish.setNickname(nickname);
                    list.add(publish);
                }
                return  list;
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }finally {
                try {
                    utils.closeAll(conn,pst,result);
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            return null;
        }
    }
    

    创建PublishService方法

    调用Dao方法获得数据库查询结果,并将list集合转化为JSON字符串并返回

    public class PublishService {
        public String selectAll(){
            PublishDao dao = new PublishDao();
            List<Publish> list = dao.selectAll();
            if (list!=null && list.size()>0){
                Gson gson = new Gson();
                //将list集合转化为json字符串
                String jsonString = gson.toJson(list);
                return jsonString;
            }
            return "error";
        }
    }
    

    创建HomeServlet方法

    使用Servlet接收前端数据,并返回查询结果(JSON字符串或者"error")

    @WebServlet("/home")
    public class HomeServlet extends HttpServlet {
        PublishService publishService=null;
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            req.setCharacterEncoding("utf-8");
            resp.setContentType("text/html;charset=utf-8");
            publishService = new PublishService();
            String jsonString = publishService.selectAll();
            resp.getWriter().write(jsonString);
    
        }
    }
    

    前端利用原生JavaScript实现数据添加

    <script src="js/jquery-1.10.2.min.js" type="text/javascript" charset="utf-8"></script>
     <script>
        //调用ajax传参
         $.ajax({
             url:"http://localhost:8080/Day07XL/home",
             method:"GET",
             dataType:"json",
             success:function (data) {
                 //返回值data是json类型因此不需要格式化
                 //返回值是json字符串,需要进行json格式化
                 // var result = JSON.parse(data);
                 //找到整个需要动态添加内容的模块
                 var contentList = document.getElementsByClassName("content-list")[0];
                 for(var i=0;i<data.length;i++){
                     //获取一个json数据
                     var publish = data[i];
                     //按照键取json的值
                     var nickname = publish.nickname;
                     var date = publish.date;
                     var contentTxt = publish.contentTxt;
                     var contentImg = publish.contentImg;
                     //按照home.html中存放数据的格式创建一组html标签,并将数据库中的值置入
                     //创建一个div标签
                     var content = document.createElement("div");
                     //设置该标签的值
                     content.className="content";
                     //创建第一块儿内容
                     var user = document.createElement("div");
                     user.className = "content-user";
    
                     //添加子标签
                     var icon= document.createElement("img");
                     icon.setAttribute("src","image/icon.jpg");
                     icon.className="content-user-icon";
                     user.appendChild(icon);
    
                     var div = document.createElement("div");
    
                     var p_name = document.createElement("p");
                     p_name.className="content-user-nick";
                     p_name.innerText=nickname;
                     div.appendChild(p_name);
    
                     var p_date = document.createElement("p");
                     p_date.className="content-user-date";
                     p_date.innerText=date;
                     div.appendChild(p_date);
    
                     user.append(div);
                     content.appendChild(user);
    
                     //创建第二块儿内容
                     var user_content = document.createElement("div");
                     user_content.className="content-user-content";
                     //添加子标签
                     var p_text = document.createElement("p")
                     p_text.className="text";
                     p_text.innerText = contentTxt;
                     user_content.appendChild(p_text);
    
                     var image_content = document.createElement("img");
                     image_content.setAttribute("src",contentImg);
                     image_content.className="image";
                     user_content.appendChild(image_content);
    
                     content.appendChild(user_content);
                     //将创建好的div,放进它的父元素中
                     contentList.appendChild(content);
    
                 }
             },
             error:function (data) {
    
             }
         })
     </script>
    
    展开全文
  • 小项目源代码仓库 一、java登录状态过滤 1、需求描述:Javaweb的某些页面需要用户登录之后才能访问,那么必须要检测所有访问这些页面的请求,看看发出请求的用户是否已经登录。 2、实现思路:使用java的 Filter 过滤...
  • javaweb小项目有感

    2020-09-26 18:13:33
    MVC框架总体上包括三部分:M指的是模型,指的是一个存储数据的对象,也就是系统中的DAO类,其中我的系统里面有三个DAO类,对应着数据库中的三个表;...C指的是控制器,它可以获取模块数据的变化,并把变化后的数据传到...

    MVC框架总体上包括三部分:M指的是模型,指的是一个存储数据的对象,也就是系统中的DAO类,其中我的系统里面有三个DAO类,对应着数据库中的三个表;V指的是视图,视图是将数据可视化的一个客户端口,这样的端口有两个,一个是HTML,主要是为用户提供数据的请求输入,另一个是JSP,这个可以说是动态的HTML,主要根据用户的请求将数据库中返回的数据可视化。C指的是控制器,它可以获取模块数据的变化,并把变化后的数据传到Session,并且更新视图。
    Ajax主要的作用是页面和web之间的数据传送,它可以实现页面的局部更新,这样使刷新更加的迅速。
    JavaScript可以对网页上数据的删除功能进行优化,让删除可以多选以及重置,更好地处理大量数据删除的操作。
    CSS可以对网页的背景,字体,颜色等方面进行调整。
    Session就像是一个中转站,保存一些准备要修改的信息。
    过滤器技术主要是对页面输入的信息进行过滤,根据你输入的信息,生成相对应的页面,就好像学生输入自己的用户名和密码可以进入学生页面,老师输入自己的用户名密码可以进入管理员页面。

    展开全文
  • JavaWeb小项目:网上书店(实现了其中的一部分),jsp+servlet+MySQL+css+js-附件资源
  • 一、项目概况 ...3、这个项目是比较简单的javaweb小项目,没有包含登录和注册功能,即使单纯的增删查改,不过在里面增加了分页的优化以及模糊查询,这两部分是这个项目的难点。 二、项目运行截图 ...

    javaweb大作业

    一、项目概况

    1、该项目采用jsp+servlet+javabean的mvc模式

    2、这个项目是比较简单的javaweb小项目,包含登录、注册和注销功能,以及增删查改,不过在里面增加了分页的优化以及模糊查询,这两部分是这个项目的难点。

    3、分普通的前后台管理,这部分是通过过滤器实现的,只有登录才能进行增删改查,否则默认为游客模式。

    4、界面用的是bootstrap。

    二、项目运行截图

    (1)进入首页index.jsp,因为没有登录直接跳转到登录页面login.jsp

    (2)登录完成后

    (3)点击修改

    (4)随便修改一下籍贯提交

    (5)添加

    (6)提交之后

    (7)随便删除第三个,弹出提示信息

    (8)点击确定即成功删除

     

    (9)勾选删除

    (10)弹出信息

    (11)点击确认即成功删除

    (12)源码见:https://download.csdn.net/download/YKbsmn/12611626

    展开全文
  • JavaWeb小项目——网上书城

    万次阅读 多人点赞 2018-09-30 19:09:56
    有兴趣的可以下载学习,有问题欢迎联系作者 git源码:https://github.com/QingboTian/bookstore
  • 类似论坛,添加帖子,添加回复,删除帖子,模糊查询帖子,分页查询。。。。。,项目比较简单,界面没观,可以作为课程设计,高分不是问题
  • JavaWeb小项目(一)

    2019-09-22 18:56:49
    前前后后,在学习了以上说的这些概念知识后,还进一步熟悉了整个搭建的流程,环境的配置,项目的部署。 趁着还没忘过,感觉做一波总结整理。 用到的工具:Tomcat(版本号:8.5.29) IDEA(作为开发Web项目的IDE...
  • 购物车【JavaWeb小项目简单版】

    千次阅读 多人点赞 2018-02-24 21:42:28
    为了巩固MVC的开发模式,下面就写一个购物车的案例.. ①构建开发环境 导入需要用到的开发包 建立程序开发包 ②设计实体 书籍实体 public class Book { private String id; private...
  • javaweb小项目总结(一)

    千次阅读 2016-08-24 18:25:10
    javaweb小项目总结(一)花了一个星期左右的时间做了一个小的增删改查系统期间学到很多 在此做个总结:项目采用前端框架H-UI+数据库jdbc+Mysql 验证码生成: 效果如下: 这个实现起来比较简单直接贴代码:...
  • tomcat+mysql+servlet+jsp+java+jstl 直接贴+代码 bean包: package com.lzy.bean; public class Person { private String username; private String password; public Person() { ... return "Person{".
  • 本文写于本人在自学完javaweb之后,开始学习框架之前,用于练手小项目的笔记。 本文的目的是记录下小项目的技术要点,用于巩固复习。~~好吧真实原因是懒得再从头开始码一遍代码,只好用笔记形式记录要点来巩固~~ ...
  • JavaWeb小项目-简单Web登录注册界面

    千次阅读 2020-09-14 16:44:42
    Java小项目-简单Web登录注册界面 为了完成一个作业弄的。 Java+servlet+Mysql 本次项目的原型作者是“WANGZIC” 这是它原项目的下载链接 原代码有一些问题,本项目作出了一些改动,值得一提的是漏洞很多,仅供新手...
  • 选中java之后,选中java->本项目->web->WEB-INF->lib点击ok即可。 1.3.2 fileupload的核心类: DiskFileItemFactory、ServletFileUpload、FileItem 1.3.3 解析原理 通过浏览器上传的数据中,每一个表单...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,735
精华内容 694
关键字:

javaweb小项目

java 订阅