(源码可下载)Web入门项目---旅游网(Servlet,mysql,jquery+java后端),javaweb项目入门级案例详解

目录

前期准备:

项目需求:

项目结构:

 项目主要实现功能:

数据库结构:

实现代码:(其他源码可在顶部下载)



前期准备:

项目名:旅游网(travel)

数据库:mysql

数据库可视化工具:SQLyog     【非必需】

IDE:IntelliJ IDEA

浏览器: FireFox

其他:Maven,redis,Tomcat 7,其他相关jar(如JdbcTemplate等)

others:

          sql:https://wws.lanzous.com/b01bh39re 密码:4fas

         maven仓库的基本jar文件:点击下载(待添加为蓝奏云链接,,,)

         初始项目(只有项目大致框架及html页面 ):https://wws.lanzous.com/b01bh36kj 密码:65ny【适合练习】

         完整项目:https://wws.lanzous.com/b01bh36rg 密码:g22i

                   

        项目部署错误解决方案:点击查看:https://blog.csdn.net/qq_43220949/article/details/106439223

项目需求:

项目结构:

项目结构3

 项目主要实现功能:

  • 注册
  • 登陆
  • 退出
  • 我的收藏
  • 搜索框
  • 分类数据

此部分为自写BaseServlet解释:BaseServlet继承HttpServlet,重写service方法,进行方法转发,即为servlet中转站,其他servlet继承BaseServlet。前台访问后台时,Baseservlet识别后进行分析转发到其他Servlet的方法中

(例:访问  user/login  ,BaseServlet获得后将调用UserServlet的login方法)。

BaseServlet 代码见文末,完整项目代码见网页顶部。


 

 

登陆
图 登陆
  • jquery异步提交 校验账户,密码及sessiom中的验证码

实现:校验码存入session;

          用户输入账户密码,校验码,点击登陆;

          login.html页面使用jquery设置提交事件访问 user/login  ;(user/login 是UserServlet中的login方法,UserServlet配置为@WebServlet("/user/*") ;为什么可以是user/login,见上页BaseServlet解释);

          Servlet中的login方法先获取校验码,将session中标准校验码与输入的校验码大小写忽略比对;

          校验码错误,则返回错误ResultInfo  /   校验码正确,进行数据库查询账户密码;

         账户密码错误或账户未激活 则返回错误ResultInfo     /    正确则返回正确ResultInfo;

         login.html获取到ResultInfo,进行判断,flag属性为false,进行打印错误信息     /    flag为true,则进入index.html或者原来页面(原来页面是指,未登录进行收藏或未登录进入收藏时会跳转到登陆页面,登陆成功后则返回原来页面)。


          user/login获得到

图 注册
  • 异步提交表单,校验用户名是否存在,校验验证码

实现:校验码存入session;

          用户输入表单信息,点击注册;

          register.html页面使用jquery设置提交事件访问 user/regist  ;(user/regist 是UserServlet中的regist方法,UserServlet配置为@WebServlet("/user/*") );

          Servlet中的regist方法先获取校验码,将session中标准校验码与输入的校验码大小写忽略比对;

          校验码错误,则返回错误ResultInfo  /   校验码正确,进行数据库查询账户是否存在;

         账户存在返回错误ResultInfo     /    正确则生成用户唯一标识符uuid并保存用户至数据库,然后调用MailUtils.sendMail()发送邮件(sendMail方法可传参数---接收人邮箱,文本)【MailUtils.java可设置发送人邮箱及密码】,返回正确ResultInfo;

          register.html获取到ResultInfo,进行判断,flag属性为false,进行打印错误信息     /    flag为true,则进入register_ok.html;

         register_ok.html为邮件发送成功页面,【MailUtils.java可配置发送邮箱及密码】;

        进入接收方邮箱,可点击链接进行“激活”,点击链接后,访问  user/active ,设置uesr的status为“Y”。  

      跳转到登陆页面。


图 收藏页面
  •  异步获取信息:路线信息,页码

 实现:

          点击“我的收藏”;myfavorite.html

          Ajax  访问 user/find  ,查询用户是否登陆,未登录,带着本页面地址跳转到登陆页面     /   查询到用户(session查询)则   

favorite/getMyFavorites   获取<List>route
favorite/getMyFavPage     获取页码

将获取到的数据进行分析插入即可页面中即可。


图 国内游页面(首页多个页面,数据库只存储了该页面的数据)

 

 实现:

         jquery异步访问“route/findRoute”(route/findRoute是RouteServlet中的findRoute方法);

         findRoute()方法获取传递的参数,根据参数查询数据库,返回 List<Route> ;

        jquery接受数据,将其分析,插入html中,显示路线信息;

        jquery异步查询页码信息,同理,返回页码数,进行遍历插入。

首页多个页面,数据库只存储了“国内游”页面的数据,多个页面使用访问相同的servlet,因传递rid(页面id)不同,获取的信息不同。


图 路线详细界面

 实现:

          ajax请求:route/route_detail

 

                                    

收藏按钮,未收藏红色,收藏后灰色,可点击灰色已收藏按钮,进行取消收藏,并且会更新“点击收藏”后的“已收藏次数”

 实现:ajax请求:   favorite/findFavorite     查询是否收藏

                               findShoucangCount       查询被所有人收藏总次数


图 页面条

 实现:

          在head.html中发送ajax请求,去请求category/findAll;

         (这是唯一一处使用redis的地方)进行redis查询,redis服务端未开启或没有该信息,进入数据库查询,将其保存入redis     /  redis存在该数据,直接返回数据,进行输出。


 

图 退出登陆

 实现:发送ajax请求user/exit_user


 

图 欢迎回来

实现:发送ajax请求user/find,获取用户信息


数据库结构:

 

图 数据库架构图

实现代码:(其他源码可在顶部下载)

 BaseServlet方法:

//无需配置@WebServlet
public class BaseServlet extends HttpServlet {
    /**
     * 进行方法转发
     * @param req
     * @param resp
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //获取请求路径
        String requestURI = req.getRequestURI();    //    /travel/user/add
//        System.out.println("service方法中请求路径:"+requestURI);
        //方法名称
        String methodName = requestURI.substring(requestURI.lastIndexOf("/")+1);//    add
        System.out.println("service调用方法名称:---"+methodName+"---");

        try {
            //(this是谁调用代表谁)

            Method method = this.getClass().getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
            //执行方法
            method.invoke(this,req,resp);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}

 

 

  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
一、项目简介本课程演示的是一套基于SSM实现的旅游管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。课程包含:1. 项目源码项目文档、数据库脚本、软件工具等所有资料2. 带你从零开始部署运行本套系统3. 该项目附带的源码资料可作为毕设使用4. 提供技术答疑二、技术实现后台框架:Spring、SpringMVC、MyBatisUI界面:JSP、jQuery 、BootStrap数据库:MySQL 三、系统功能本系统分为前台旅游界面和后台管理,包含三种角色:注册用户、旅游公司和管理员系统的功能模块如下: 1.登陆注册模块 管理员的登录模块:管理员登录系统对本系统其他管理模块进行管理。 用户的登录模块:用户登录本系统,对个人的信息等进行查询,操作可使用的功能。 用户注册模块:游客用户可以进行用户注册,系统会反馈是否注册成功。 添加管理员模块:向本系统中添加更多的管理人员,管理员包括普通管理员和超级管理员。 2.景点信息管理模块: 景点信息列表:将数据库的景点信息表以列表的形式呈现给管理员。 添加景点信息:实现管理员添加景点信息。 修改景点信息:实现管理员修改景点信息。 3.公告文章管理模块: 公告文章列表:将数据库的公告文章表以列表的形式呈现给管理员。 添加公告文章:实现管理员添加公告文章。 修改公告文章:实现管理员修改公告文章。 4.旅游线路管理模块: 旅游线路列表:显示系统的所有旅游线路,可以通过关键字查询。 旅游线路删除:对输入错误或过期的旅游线路删除。 5.变幻图管理模块: 变幻图列表:显示系统的所有变幻图,可以通过关键字查询。 变幻图删除:对输入错误或过期的变幻图删除。 6.用户模块: 资料管理:用户登录本系统。可以对自己的个人主页进行查看。 系统信息:用户可以查看自己的系统提示信息。 修改资料:用户可以修改自己的账号密码。 信息搜索:用户可以通过关键字搜索站内信息。 密码修改:用户可以修改个人登录密码。 7.系统管理模块 8.退出模块该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。四、项目截图1)前台首页2)旅游景点详情3)旅游线路报名4)系统后台登陆5)后台管理界面  更多Java毕设项目请关注【毕设系列课程】https://edu.csdn.net/lecturer/2104   

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值