JavaWeb项目:旅游网站【涉及各种知识】

JQuery异步请求(ajax)

$.ajax({ 
    // 请求方式为get或者post等
    type: "GET",
    // 服务器响应的数据类型
    dataType: "json",
    // 请求的url(一般为后台接口)  
    url: "test.json",
    // 发送到服务器的参数,      
    data: {user:"xiao"},
    // 请求成功后返回的数据,赋值给变量'data'  
    success: function(data){    
        // 对data进行操作          
    },
    // 请求失败异常后,返回的错误信息
    error: function(err){
 
    }                  
});
1. get( url, [data], [callback] ) :
$.get("route/findAllRoute",{"cid":cid,"curentPage":curentPage,"pageCount":pageCount},function (data) {
                writepage(data);
            })
2. post( url, [data], [callback] ) :
$.post("route/findTheRoute",{"rid":rid},function (data) {
            if(data.flag){
                $(".titleCategory:eq(0)").html(data.data.category.cname);
                $(".titleRoute:eq(0)").html(data.data.routeIntroduce);
                $("#bigPic").attr("src",data.data.routeImgList[0].bigPic);
                var littleImg='<a class="up_img up_img_disable"></a>';
                for(var i=0;i<data.data.routeImgList.length;i++){
                    if(i>3){
                        littleImg+='<a title="" class="little_img" data-bigpic="'+data.data.routeImgList[i].bigPic+'" style="display:none;">\n' +
                            '<img src="'+data.data.routeImgList[i].smallPic+'">\n' +
                            '</a>';
                    }else {
                        littleImg+='<a title="" class="little_img" data-bigpic="'+data.data.routeImgList[i].bigPic+'">\n' +
                            '<img src="'+data.data.routeImgList[i].smallPic+'">\n' +
                            '</a>';
                    }
                }
                littleImg+='<a class="down_img down_img_disable" style="margin-bottom: 0;"></a>';
                $("#littlePics").html(littleImg);
                $(".titleCategory:eq(1)").html(data.data.rname);
                $(".titleRoute:eq(1)").html(data.data.routeIntroduce);
                /*<p id="sname">经营商家  :中国国旅</p>
                <p id="sphone">咨询电话 : 400-000-1111</p>
                <p id="address"> 地址 : xxxxxxxx</p>*/
                $("#sname").html("经营商家  : "+data.data.seller.sname);
                $("#sphone").html("咨询电话 : "+data.data.seller.consphone);
                $("#address").html("地址 : "+data.data.seller.address);
                $("#price").html(data.data.price);
                $("#count").html("已收藏"+data.data.count+"次");
                loadImgs();
                var timer=setInterval(auto_play,2000);
            }
        });
3. load( url, [data], [callback] ) :

载入远程 HTML 文件代码并插入至 DOM 中。

url (String) : 请求的HTML页的URL地址。

data (Map) : (可选参数) 发送至服务器的 key/value 数据。

callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。

这个方法默认使用 GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。jQuery 1.2 中,可以指定选择符,来筛选载入的 HTML 文档,DOM 中将仅插入筛选出的 HTML 代码。语法形如 “url #some > selector”。

这个方法可以很方便的动态加载一些HTML文件,例如表单。

$(".ajax.load").load("http://www.cnblogs.com/yeer/archive/2009/06/10/1500682.html .post",

function (responseText, textStatus, XMLHttpRequest){

this;//在这里this指向的是当前的DOM对象,即$(".ajax.load")[0] 

//alert(responseText);//请求返回的内容
//alert(textStatus);//请求状态:success,error
//alert(XMLHttpRequest);//XMLHttpRequest对象
});

表单序列化

1.serialize()方法

格式:var data = $(“form”).serialize();

功能:将表单内容序列化成一个字符串。

这样在ajax提交表单数据时,就不用一一列举出每一个参数。只需将data参数设置为 $(“form”).serialize() 即可
  
在这里插入图片描述

$("#btLogin").click(function () {
				$.post("user/login",$("#loginForm").serialize(),function (data) {
						console.log($("#loginForm").serialize());
						if (data.flag) {
								//跳转到首页
								location.href = "index.html";
						}else{
							$("#errorMsg").text(data.errorMsg);
					}
				});
			});
console.log($("#loginForm").serialize());
结果:
action=login&username=aaaaaaa&password=hhhhhhhhh&check=a2d4
2.serializeArray()方法

格式:var jsonData = $(“form”).serializeArray();

功能:将页面表单序列化成一个JSON结构的对象。注意不是JSON字符串。

比如,[{“name”:“lihui”, “age”:“20”},{…}] .

Servlet简化,方法分发,模仿HttpServlet的service方法

1.写一个BaseServlet extends HttpServlet
public class BaseServlet extends HttpServlet {
	@Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        //获取URI--->  user/login
        String reqURI = req.getRequestURI();
        //获取请求的方法名--->将URI从最后一次'/'出现的位置切割,提取方法名login
        String method = reqURI.substring(reqURI.lastIndexOf('/')+1);
//        System.out.println(method);
        try {
            Class<? extends BaseServlet> aClass = this.getClass();
            //得到子类Sevlet字节码文件,用字节码文件提取子类servlet的所有方法数组
            Method[] methods = aClass.getMethods();
            //遍历数组
            for (Method m:methods) {
//                System.out.println(m.getName());
                //找到请求的方法名为method的方法
                if(m.getName().equals(method)){
                    //调用方法,this就是子类Servlet对象
                    // m.invoke(servlet,req,resp);
                    m.invoke(this,req,resp);
                }
            }
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
}
2.写子类Servlet继承BaseSevlet
package com.dbxy.travel.web.servlet;

import com.bdqn.travel.pojo.Category;
import com.bdqn.travel.pojo.PageRoute;
import com.bdqn.travel.pojo.ResultInfo;
import com.bdqn.travel.pojo.Route;
import com.dbxy.travel.service.CategoryService;
import com.dbxy.travel.service.CategoryServiceImpl;
import com.dbxy.travel.service.RouteService;
import com.dbxy.travel.service.RouteServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.List;

@WebServlet("/route/*")
public class RouteServlet extends BaseServlet{
    private RouteService service=new RouteServiceImpl();
    public void findAllRoute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String nowpage = request.getParameter("curentPage");
        String cid=request.getParameter("cid");
        PageRoute<Route> allRoute = service.findAllRoute(Integer.parseInt(nowpage), Integer.parseInt(cid));
        returnResult(allRoute,response);
    }
    public void findTheRoute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String rid=request.getParameter("rid");
        ResultInfo info = service.findRouteByRid(Integer.parseInt(rid));
        returnResult(info,response);
    }
    public void findRouteBySearchName(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String nowpage = request.getParameter("curentPage");
        String search= request.getParameter("search");
        String decodeSearch = null;
        try {
            System.out.println(nowpage);
            decodeSearch = URLDecoder.decode(search, "utf-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
//        System.out.println("now"+nowpage);
        PageRoute<Route> pageRoute=service.findRouteBySearchName(decodeSearch,Integer.parseInt(nowpage));
        returnResult(pageRoute,response);
    }
    public void findRouteBySearchNameAndCid(HttpServletRequest request, HttpServletResponse response){
        String nowpage = request.getParameter("curentPage");
        String search= request.getParameter("search");
        String cid = request.getParameter("cid");
        String decodeSearch = null;
        try {
            System.out.println(nowpage);
            decodeSearch = URLDecoder.decode(search, "utf-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        PageRoute<Route> pr=service.findRouteBySearchNameAndCid(Integer.parseInt(nowpage),decodeSearch,Integer.parseInt(cid));
        returnResult(pr,response);
    }
    public void findFavoriteRoutes(HttpServletRequest request, HttpServletResponse response){
        String nowpage = request.getParameter("curentPage");
        PageRoute<Route> favoriteRoutes = service.findFavoriteRoutes(Integer.parseInt(nowpage));
        returnResult(favoriteRoutes,response);
       // System.out.println(favoriteRoutes);
    }
    public void favoriteSearch(HttpServletRequest request, HttpServletResponse response){
        String search= request.getParameter("searchName");
        String nowpage= request.getParameter("curentPage");
        String decodeSearch = "";
        try {
            decodeSearch = URLDecoder.decode(search, "utf-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        String minPrice= request.getParameter("minPrice");
        String maxPrice= request.getParameter("maxPrice");
        PageRoute<Route> pr =service.favoriteSearch(Integer.parseInt(nowpage),decodeSearch,minPrice,maxPrice);
        returnResult(pr,response);
    }
}

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、项目简介本课程演示的是一套基于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个

红包金额最低5元

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

抵扣说明:

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

余额充值