基于javaweb旅游景点线路预定系统设计与实现

news2024/11/24 9:30:15

1.引言

随着我国人们生活水平的不断提高,旅游逐渐成为人们工作之余,进行放松压力,调节情绪的首要选择。近几年,我国旅游游客规模不断扩大,使旅游业得到快速发展,但也带来了更激烈竞争。面对更复杂的旅游业务需求,现在旅游业必须扩大对当地旅游资源的宣传力度,采用更先进的技术来完成日常的管理,为游客提供更优良的服务,帮

助游客在出行时快捷、方便地查询到旅游目的地的景点、酒店、交通情况。这将提高城市旅游形象和旅游服务水平。因此建立对旅游信息资源进行整合和管理的信息系统,才能强化当地旅游业的内部管理,使运转更合理高效,提高旅游的服务质量。

计算机和网络技术快速发展,使其在社会各行各业的应用得到普及,越来越多的行业都采用先进的计算网络技术来管理行业信息,人类社会已经进入到了信息化的崭新时代。目前,我国旅游业信息化的进程缓慢,传统的城市旅游宣传和管理方式大多采用人工完成,造成了人力和物力资源的浪费。旅游信息管理系统的开发和使用,能借助信息化技术的优势,使工作人员从繁琐手工工作方式中解脱出来,提高对旅游信息的管理效率,方便及时地实现游客和旅游工作人员之间的交户,方便管理人员和旅行社及时、准确地了解游客的需求,提供更高质量的服务,可以使旅游城市、风景区在激烈的竞争中取得优势,扩大宣传力度,提高宣传效果。

本论文基于旅游管理的服务一体化,信息综合化的需求,设计并开发的一套旅游资源进行信息管理的系统。首先描述了旅游信息管理系统的开发背景、国内外旅游信息化的现状;接着介绍了系统开发所采用的技术和相关工具;其次对系统面向的用户,系统管理员和游客的需求进行了分析;再次进行了系统的总体设计,通过对旅游信息资源的分类整理,以旅游所涉及信息的具体内容来来划分系统中的功能模块,并对各功能模块进行详细设计。系统后台主要模块包括:用户管理、首页、旅游景点、旅游线路、酒店住宿、舌尖美食、旅游攻略、旅游帮组等功能,开发了系统管理员对旅游相关信息的管理、发布等后台功能。而在系统前台,提供了游客和注册用户对旅游相关信息的浏览功能,并为注册用户实现了酒店、线路等预订功能。在系统实现时,采用三层 B/S 架构进行开发,应用基于 Java 平台的开发工具,采用 mysql 作为后台数据库管理平台进行系统的开发。并在系统开发完成后,进行了系统主要模块的测试。测试结果表示,本文所设计开发的系统能够满足用户的需求。该系统的应用将可以强化城市旅游的内部管理,提高工作效率和服务质量。

2.开发技术

2.1B/S架构

B/S结构(Browser/Server,即浏览器/服务器结构)是一种常见的软件架构模式,用于构建Web应用程序。在B/S结构中,浏览器充当客户端,向服务器发出请求,并显示服务器返回的结果。

以下是B/S结构的几个关键组件和描述:

(1)客户端(浏览器):客户端通过浏览器与用户交互,向服务器发送请求,并将服务器返回的结果显示给用户。浏览器负责解析和渲染HTML、CSS和JavaScript等网页资源,呈现给用户进行浏览。

(2)服务器(应用服务器):服务器接收来自客户端的请求,并根据请求的内容生成响应。它负责处理业务逻辑、与后端数据库交互、生成动态页面和数据等。服务器通常使用编程语言和框架(如Java和Spring、Python和Django等)来处理请求。

(3)数据库服务器:数据库服务器用于存储和管理应用程序的数据。服务器可以通过访问数据库来获取、修改和存储数据。数据库通常使用关系型数据库系统如MySQL、Oracle或非关系型数据库系统如MongoDB等。

(4)网络通信:B/S结构通过网络进行通信。客户端通过HTTP协议将请求发送给服务器,服务器通过HTTP响应将结果返回给客户端。这种基于HTTP协议的通信使得B/S结构具有跨平台和跨网络的特性。

在B/S结构中,客户端只需要一个浏览器,而不需要安装复杂的应用程序。这使得应用程序的部署和维护相对简单。此外,通过使用网页技术(如HTML、CSS和JavaScript),可以实现丰富的用户界面和交互效果。

总而言之,B/S结构是一种基于浏览器和服务器的软件架构模式,适用于构建Web应用程序。通过简化客户端的部署和依赖,B/S结构提供了一种灵活、跨平台的方式来开发和交付应用程序。

2.2MVC模式

MVC(Model-View-Controller)是一种常见的软件设计模式,用于分离应用程序的关注点和逻辑。它将应用程序分解为三个主要组件:模型(Model)、视图(View)和控制器(Controller),每个组件有其特定的职责和功能。

以下是MVC模式中各个组件的功能和描述:

(1)模型(Model):模型代表应用程序的数据和业务逻辑。它负责获取、保存和处理数据,并提供与数据相关的方法和操作。模型并不关心数据的展示方式或如何与用户交互,它只关注数据的管理和处理。

(2)视图(View):视图是应用程序的用户界面,在模型中的数据进行展示。视图负责展示和呈现数据给用户,以及接收用户的输入。它通常是由HTML、CSS和图形用户界面(GUI)等技术实现的,用于以可视化的方式显示数据。

(3)控制器(Controller):控制器协调模型和视图之间的交互,并处理用户的输入和操作。它接收来自用户界面的输入,根据需要调用模型进行数据处理,并将处理结果传递给视图进行显示。控制器还负责处理应用程序的业务逻辑,如验证和处理用户输入、路由请求等。

MVC模式的优点包括:

  • 分离关注点:MVC模式将应用程序分解成不同的组件,使其职责和关注点分离。这样可以提高代码的可维护性、可重用性和可测试性。

  • 可扩展性:每个组件都有其特定的职责,使得应用程序更容易升级和扩展。例如,可以更改视图的实现方式而不影响模型和控制器,或者添加新的控制器来处理新的业务逻辑。

  • 多个视图:MVC模式可以支持多个视图,使得相同的数据可以以不同的方式呈现给用户。这样可以实现多平台或多设备的支持,提供更好的用户体验。

MVC模式在各种应用程序中得到广泛应用,特别是Web应用程序和桌面应用程序。它提供了一种结构化和可维护的方式来组织和管理应用程序的逻辑和用户界面。

2.3Java Web开发技术

Java Web开发涉及多种技术和框架,用于构建功能强大、可扩展和安全的Web应用程序。以下是一些常用的Java Web开发技术:

(1)Java Servlet:Java Servlet是用于处理HTTP请求和响应的Java编程接口。它可以接收和响应请求,处理业务逻辑,并生成动态网页内容。Servlet通常作为Java Web应用程序的控制器来处理用户请求。

(2)Java Server Pages(JSP):JSP是一种动态网页技术,允许将Java代码嵌入到HTML模板中。JSP在服务器端执行,当客户端请求访问时,动态生成HTML页面并将其发送到客户端。

(3)JavaServer Faces(JSF):JSF是一种Java Web应用程序框架,用于构建用户界面。它提供了一套丰富的标签库和组件,用于创建交互式的用户界面,并支持事件驱动的编程模型。

(4)Spring MVC:Spring MVC是Spring框架的一部分,用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。它提供了一个灵活和可扩展的框架,用于处理用户请求、渲染视图和管理业务逻辑。

(5)Hibernate:Hibernate是一个Java持久化框架,用于将对象映射到关系型数据库中。它提供了对象关系映射(ORM)功能,隐藏了底层数据库操作的复杂性,简化了数据访问层的开发。

(6)Spring Boot:Spring Boot是一个用于快速构建Spring应用程序的框架。它简化了Spring的配置和部署,提供了一系列的自动化配置,使得开发人员能够更专注于业务逻辑的开发。

(7)RESTful Web服务:REST(Representational State Transfer)是一种用于构建可伸缩和可维护的Web服务的架构风格。Java提供了多个技术和框架,如JAX-RS和Spring Web等,用于构建RESTful Web服务。

总的来说,Java Web开发技术提供了丰富的工具和框架,用于开发高性能、安全可靠的Web应用程序。通过使用Java Servlet、JSP、Spring MVC、Hibernate等技术,开发人员可以创建功能强大的Web应用程序,并实现与数据库的交互、用户界面的构建和业务逻辑的处理。

3.功能设计

在概要设计时,要按照前面所完成的系统需求分析的结果和文档信息,定义系统的主要功能模块。在本次设计的系统中,功能分为前台展示和后台管理两大部分,即景点信息的后台维护和前台检索;旅游路线的后台维护和前台展示检索;酒店信息的后台维护及前台检索、预订。

本节对系统部分功能模块的结构再进一步细化。

(1)用户信息管理模块

用户信息管理模块分为后台管理员信息的维护模块和前台注册用户的维护模块,并提供对各类用户的权限分配功能。

用户信息维护模块又分为注册用户信息维护和管理员信息维护子功能。注册用户信息维护可完成对前台系统注册的游客信息的检索和操纵处理功能,而管理员信息维护可在后台进行管理员的添加、以及后续的修改、删除等维护功能,而其中对用户信息的修改,一般是指对用户密码的修改。

(2)旅游景点信息维护模块

系统中的旅游景点信息维护可以对本地景点信息进行维护,可在前台实现景点信息的检索和浏览,在后台具有:景点信息查询、景点信息添加、景点信息修改和删除功能。景点信息检索或查询:可以按本地景点的名称或景点所属类型查询目标景点,也可以列出本地全部的景点。当选中某一景点后,可查看该景点的介绍,包括地理位置、到达的公交车的信息等。景点信息添加:可增加新的景点的相关信息,录入信息包括:景点的名称、位置、介绍、特点、可达公交车等。

景点信息修改:当选中某一个已经录入的景点后,可打开修改页面,对该景点信息进行修改,除景点名称外,其他信息均可进行修改。

景点信息删除:删除选中的景点信息,可删除一个景点,也可同时选中的多个景点。

旅游景点信息维护模块的应用意义在于当管理在进行旅游景点信息维护时,能够快捷地将景点信息添加到系统中,同时对景点的相关信息进行维护,并与后点的旅游信息数据库连接,将景点信息及时存放到旅游信息数据库中。而访问前台系统的用户能对后台管理员所添加、更新的景点信息进行及时、方便地浏览。

(3)酒店信息维护模块

本维护模块实现本地主要酒店的信息维护功能。具体来说,包括当时酒店信息查询模块、酒店信息添加模块、酒店信息修改模块和酒店信息删除模块。在进行酒店信息查询时,可根据酒店的名称、级别进行查询,也可显示系统全部酒店信息,并可根据入住的酒店信息查询到就近的景点信息。

系统管理员可通过酒店信息添加模块向系统数据库增加新的酒店信息,在新增酒店信息时,需要维护该酒店的名称、级别、就近景点信息、所提供房型等相关信息。另外,系统还提供了对酒店信息进行修改和删除的功能。

4.实现效果展示

后台系统登录界面是系统管理员访问旅游信息管理系统,进行后台信息维护的入口,是保证为合法用户提供系统的有效访问,而防止用户的越权访问或非法用户的访问的有效手段。旅游信息管理后台系统的登录界面实现效果如图所示。

当用户输入正确的帐户和密码后,会进入后台系统,显示如图

系统主界面中菜单栏显示了后台系统的功能,在本文的旅游信息管理系统中,完成了用户管理、景点信息管理、线路信息管理、酒店信息管理几个主要功能,用户通过选择菜单项,可进入相应的系统功能界面。

用户管理

旅游线路管理及添加管理

 旅游线路分类管理

 出游方式管理

 景点管理

 酒店管理

线路预订管理

 酒店预订管理

 本节对旅游信息管理系统中前台系统的部分功能的实现效果进行介绍。

用户注册

 旅游景点页面

 旅游景点详细页面

旅游景点线路预订页面

5.参考文章

6.核心代码


@Controller
public class AdminUserController extends SimpleController {

	@Autowired
	private UsersService usersService;

	@Override
	@RequestMapping("/admin/login.do")
	public void mapping(HttpServletRequest request, HttpServletResponse response) {
		super.mappingMethod(request, response);

	}
	public void login() {
		String usertype = request.getParameter("usertype");
		String validcode = (String) request.getSession().getAttribute(
				"validcode");
		String inputvalidcode = request.getParameter("validcode");
		if (validcode != null && !validcode.equals(inputvalidcode)) {
			System.out.println("系统验证错误");
			request.setAttribute("errmsg",
					"<img src=\"images/error.gif\"/>系统验证码错误");

			// 分发请求参数
			dispatchParams(request, response);
			forward("/admin/login.jsp");
			return;
		}
		System.out.println("验证码=" + validcode);
		if (usertype != null && usertype.equals("0")) {
			adminLogin();
		}
	}

	private void adminLogin() {

		String username = request.getParameter("username");
		String password = request.getParameter("password");
		Users u = (Users) usersService.load(" where username='" + username
				+ "' and password='" + password + "'");
		if (u == null) {
			dispatchParams(request, response);
			request.setAttribute("errmsg",
					"<img src=\"images/error.gif\"/>用户与密码不匹配");
			System.out.println("系统用户登录失败");
			forward("/admin/login.jsp");
		}
		HttpSession session = request.getSession();
		u.setLogtimes(u.getLogtimes() + 1);
		usersService.update(u);
		session.setAttribute("users", u);
		redirect("/admin/index.jsp");

	}

}
@Controller
public class AreacityController extends  SimpleController{
     @Autowired
       private AreacityService  areacitySrv=null;
       @Override
	@RequestMapping("/admin/areacitymanager.do")
	public void mapping(HttpServletRequest request, HttpServletResponse response) {
		mappingMethod(request,response);
	}
    /********************************************************
    ******************????????*****************************
    *********************************************************/
	public void delete() {
		String[] ids = request.getParameterValues("ids");
		if (ids == null)
			return;
		String spliter = ",";
		String SQL = " where id in(" + join(spliter, ids)
				+ ")";
		System.out.println("sql=" + SQL);
		areacitySrv.delete(SQL);
	}
    /*************************************************************
     ****************????????******************************
    **************************************************************/
	public void save() {
			String forwardurl=request.getParameter("forwardurl");
			//????url
			String errorurl=request.getParameter("errorurl");
				        String cityname=request.getParameter("cityname");
	    SimpleDateFormat  sdfareacity=new SimpleDateFormat("yyyy-MM-dd");
             Areacity areacity=new Areacity();
				        areacity.setCityname(cityname==null?"":cityname);
		    //????
		     Boolean validateresult=areacitySrv.isExist( "where cityname='"+cityname+"'");
		     if(validateresult){
			 try {
					request.setAttribute("errormsg","<label class='error'>??????</label>");
					request.setAttribute("areacity", areacity);
					request.setAttribute("actiontype", "save");
					request.getRequestDispatcher(errorurl).forward(request, response);
				} catch (Exception e) {
						e.printStackTrace();
				}
				return;
			}
		  areacitySrv.save(areacity);
		 if(forwardurl==null){
			forwardurl="/admin/areacitymanager.do?actiontype=get";
		}
		redirect(forwardurl);
	}
   	/******************************************************
	***********************??????*********************
	*******************************************************/
	public void update() {
           String forwardurl=request.getParameter("forwardurl");
		   String id=request.getParameter("id");
		   if(id==null)
			   return;
		   Areacity  areacity=areacitySrv.load(new Integer(id));
		    if(areacity==null)
			   return;
				       String cityname=request.getParameter("cityname");
			  SimpleDateFormat  sdfareacity=new SimpleDateFormat("yyyy-MM-dd");
					        areacity.setCityname(cityname);
		    areacitySrv.update(areacity);
			 if(forwardurl==null){
				forwardurl="/admin/areacitymanager.do?actiontype=get";
			}
			redirect(forwardurl);
	}
   	/******************************************************
	***********************??????*********************
	*******************************************************/
	public void load() {
	        //
		    String id=request.getParameter("id");
		    String actiontype="save";
		    dispatchParams(request, response);
			if(id!=null) 
			{
			   Areacity  areacity=areacitySrv.load("where id="+id);
				if(areacity!=null) 
				{
				    request.setAttribute("areacity", areacity);
				}
				actiontype="update";
				request.setAttribute("id", id);
			}
		    request.setAttribute("actiontype", actiontype);
		    String forwardurl=request.getParameter("forwardurl");
		    System.out.println("forwardurl="+forwardurl);
		    if(forwardurl==null){
		     	forwardurl="/admin/areacityadd.jsp";
		   }
		   forward(forwardurl);
	}
   	/******************************************************
	***********************????????*********************
	*******************************************************/
	public void   get(){
		 String filter="where 1=1 ";
String cityname=request.getParameter("cityname");
	              if(cityname!=null)
	                     filter+="  and cityname like '%"+cityname+"%'  ";
		 //
		int pageindex = 1;
		int pagesize = 10;
		// ??????
		String currentpageindex = request.getParameter("currentpageindex");
		// ??????
		String currentpagesize = request.getParameter("pagesize");
		// ?????
		if (currentpageindex != null)
			pageindex = new Integer(currentpageindex);
		// ???????
		if (currentpagesize != null)
			pagesize = new Integer(currentpagesize);
		List<Areacity> listareacity = areacitySrv.getPageEntitys( filter,pageindex, pagesize);
		int recordscount = areacitySrv.getRecordCount(filter == null ? "" : filter);
		request.setAttribute("listareacity", listareacity);
		PagerMetal pm = new PagerMetal(recordscount);
		//????
		pm.setPagesize(pagesize);
		//???????
		pm.setCurpageindex(pageindex);
		// ??????
		request.setAttribute("pagermetal", pm);
		//??????
		dispatchParams(request, response);
		String forwardurl=request.getParameter("forwardurl");
		System.out.println("forwardurl="+forwardurl);
		if(forwardurl==null){
			forwardurl="/admin/areacitymanager.jsp";
		}
forward(forwardurl);
	}
}
@Controller
public class CommentController extends SimpleController {

	@Autowired
	private CommentService commentSrv=null;
	@Override
	@RequestMapping("/admin/commentmanager.do")
	public void mapping(HttpServletRequest request, HttpServletResponse response) {
		mappingMethod(request,response);
	}
	
	/********************************************************
	 ****************** 信息注销监听支持*****************************
	 *********************************************************/
	public void delete() {
		String id = request.getParameter("id");
		commentSrv.delete(" where id=" + id);
		get();
	}

	/*************************************************************
	 **************** 保存动作监听支持******************************
	 **************************************************************/
	public void save() {
		String photo = request.getParameter("photo");

		String commentren = request.getParameter("currenthy");
		String commentcontent = request.getParameter("commentcontent");
		String xtype = request.getParameter("xtype");
		String belongid = request.getParameter("belongid");
		String istopic=request.getParameter("istopic");
	    String topicid=request.getParameter("topicid");
		Comment comment = new Comment();
		comment.setPhoto(photo);
		comment.setCommenttime(new Date());

		comment.setCommentren(commentren == null ? "" : commentren);
		comment.setCommentcontent(commentcontent == null ? "" : commentcontent);
		comment.setXtype(xtype == null ? "" : xtype);
		comment.setBelongid(belongid == null ? "" : belongid);
		
		if(istopic!=null)
        	comment.setTopicid(new Integer(topicid));
        else 
        	comment.setTopicid(0);
        if(topicid!=null)
        	comment.setIstopic(new Integer(istopic));
        else
        	comment.setTopicid(0);
		commentSrv.save(comment);

		String forwardurl = request.getParameter("forwardurl");
		redirect(forwardurl);

	}

	

	/******************************************************
	 *********************** 加载内部支持*********************
	 *******************************************************/
	public void load() {
		//
		String id = request.getParameter("id");
		String actiontype = "save";
		if (id != null) {
			Comment comment = commentSrv.load( "where id="+ id);
			if (comment != null) {
				request.setAttribute("comment", comment);
			}
			actiontype = "update";
		}
		request.setAttribute("id", id);
		request.setAttribute("actiontype", actiontype);
		try {
			request.getRequestDispatcher("commentadd.jsp").forward(request,
					response);
		} catch (ServletException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/******************************************************
	 *********************** 数据绑定内部支持*********************
	 *******************************************************/
	public void get() {
		String filter = "";
		//
		String commentren = request.getParameter("commentren");
		if (commentren != null)
			filter = "  where commentren like '%" + commentren + "%'  ";
		int pageindex = 1;
		int pagesize = 10;
		// 获取当前分页
		String currentpageindex = request.getParameter("currentpageindex");
		// 当前页面尺寸
		String currentpagesize = request.getParameter("pagesize");
		// 设置当前页
		if (currentpageindex != null)
			pageindex = new Integer(currentpageindex);
		// 设置当前页尺寸
		if (currentpagesize != null)
			pagesize = new Integer(currentpagesize);
		List<Comment> listcomment = commentSrv.getPageEntitys(filter,pageindex, pagesize);
		int recordscount =  commentSrv.getRecordCount(filter == null ? "" : filter);
		request.setAttribute("listcomment", listcomment);
		PagerMetal pm = new PagerMetal(recordscount);
		// 设置尺寸
		pm.setPagesize(pagesize);
		// 设置当前显示页
		pm.setCurpageindex(pageindex);
		// 设置分页信息
		request.setAttribute("pagermetal", pm);
		// 分发请求参数
		dispatchParams(request, response);
		try {
			request.getRequestDispatcher("/admin/commentmanager.jsp").forward(
					request, response);
		} catch (ServletException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
@Controller
public class CommentController extends SimpleController {

	@Autowired
	private CommentService commentSrv=null;
	@Override
	@RequestMapping("/admin/commentmanager.do")
	public void mapping(HttpServletRequest request, HttpServletResponse response) {
		mappingMethod(request,response);
	}
	
	/********************************************************
	 ****************** 信息注销监听支持*****************************
	 *********************************************************/
	public void delete() {
		String id = request.getParameter("id");
		commentSrv.delete(" where id=" + id);
		get();
	}

	/*************************************************************
	 **************** 保存动作监听支持******************************
	 **************************************************************/
	public void save() {
		String photo = request.getParameter("photo");

		String commentren = request.getParameter("currenthy");
		String commentcontent = request.getParameter("commentcontent");
		String xtype = request.getParameter("xtype");
		String belongid = request.getParameter("belongid");
		String istopic=request.getParameter("istopic");
	    String topicid=request.getParameter("topicid");
		Comment comment = new Comment();
		comment.setPhoto(photo);
		comment.setCommenttime(new Date());

		comment.setCommentren(commentren == null ? "" : commentren);
		comment.setCommentcontent(commentcontent == null ? "" : commentcontent);
		comment.setXtype(xtype == null ? "" : xtype);
		comment.setBelongid(belongid == null ? "" : belongid);
		
		if(istopic!=null)
        	comment.setTopicid(new Integer(topicid));
        else 
        	comment.setTopicid(0);
        if(topicid!=null)
        	comment.setIstopic(new Integer(istopic));
        else
        	comment.setTopicid(0);
		commentSrv.save(comment);

		String forwardurl = request.getParameter("forwardurl");
		redirect(forwardurl);

	}

	

	/******************************************************
	 *********************** 加载内部支持*********************
	 *******************************************************/
	public void load() {
		//
		String id = request.getParameter("id");
		String actiontype = "save";
		if (id != null) {
			Comment comment = commentSrv.load( "where id="+ id);
			if (comment != null) {
				request.setAttribute("comment", comment);
			}
			actiontype = "update";
		}
		request.setAttribute("id", id);
		request.setAttribute("actiontype", actiontype);
		try {
			request.getRequestDispatcher("commentadd.jsp").forward(request,
					response);
		} catch (ServletException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/******************************************************
	 *********************** 数据绑定内部支持*********************
	 *******************************************************/
	public void get() {
		String filter = "";
		//
		String commentren = request.getParameter("commentren");
		if (commentren != null)
			filter = "  where commentren like '%" + commentren + "%'  ";
		int pageindex = 1;
		int pagesize = 10;
		// 获取当前分页
		String currentpageindex = request.getParameter("currentpageindex");
		// 当前页面尺寸
		String currentpagesize = request.getParameter("pagesize");
		// 设置当前页
		if (currentpageindex != null)
			pageindex = new Integer(currentpageindex);
		// 设置当前页尺寸
		if (currentpagesize != null)
			pagesize = new Integer(currentpagesize);
		List<Comment> listcomment = commentSrv.getPageEntitys(filter,pageindex, pagesize);
		int recordscount =  commentSrv.getRecordCount(filter == null ? "" : filter);
		request.setAttribute("listcomment", listcomment);
		PagerMetal pm = new PagerMetal(recordscount);
		// 设置尺寸
		pm.setPagesize(pagesize);
		// 设置当前显示页
		pm.setCurpageindex(pageindex);
		// 设置分页信息
		request.setAttribute("pagermetal", pm);
		// 分发请求参数
		dispatchParams(request, response);
		try {
			request.getRequestDispatcher("/admin/commentmanager.jsp").forward(
					request, response);
		} catch (ServletException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
@Controller
public class CystyleController extends  SimpleController{
     @Autowired
       private CystyleService  cystyleSrv=null;
       @Override
	@RequestMapping("/admin/cystylemanager.do")
	public void mapping(HttpServletRequest request, HttpServletResponse response) {
		mappingMethod(request,response);
	}
    /********************************************************
    ******************????????*****************************
    *********************************************************/
	public void delete() {
		String[] ids = request.getParameterValues("ids");
		if (ids == null)
			return;
		String spliter = ",";
		String SQL = " where id in(" + join(spliter, ids)
				+ ")";
		System.out.println("sql=" + SQL);
		cystyleSrv.delete(SQL);
	}
    /*************************************************************
     ****************????????******************************
    **************************************************************/
	public void save() {
			String forwardurl=request.getParameter("forwardurl");
			//????url
			String errorurl=request.getParameter("errorurl");
				        String name=request.getParameter("name");
	    SimpleDateFormat  sdfcystyle=new SimpleDateFormat("yyyy-MM-dd");
             Cystyle cystyle=new Cystyle();
				        cystyle.setName(name==null?"":name);
		    //????
		     Boolean validateresult=cystyleSrv.isExist( "where name='"+name+"'");
		     if(validateresult){
			 try {
					request.setAttribute("errormsg","<label class='error'>????????</label>");
					request.setAttribute("cystyle", cystyle);
					request.setAttribute("actiontype", "save");
					request.getRequestDispatcher(errorurl).forward(request, response);
				} catch (Exception e) {
						e.printStackTrace();
				}
				return;
			}
		  cystyleSrv.save(cystyle);
		 if(forwardurl==null){
			forwardurl="/admin/cystylemanager.do?actiontype=get";
		}
		redirect(forwardurl);
	}
   	/******************************************************
	***********************??????*********************
	*******************************************************/
	public void update() {
           String forwardurl=request.getParameter("forwardurl");
		   String id=request.getParameter("id");
		   if(id==null)
			   return;
		   Cystyle  cystyle=cystyleSrv.load(new Integer(id));
		    if(cystyle==null)
			   return;
				       String name=request.getParameter("name");
			  SimpleDateFormat  sdfcystyle=new SimpleDateFormat("yyyy-MM-dd");
					        cystyle.setName(name);
		    cystyleSrv.update(cystyle);
			 if(forwardurl==null){
				forwardurl="/admin/cystylemanager.do?actiontype=get";
			}
			redirect(forwardurl);
	}
   	/******************************************************
	***********************??????*********************
	*******************************************************/
	public void load() {
	        //
		    String id=request.getParameter("id");
		    String actiontype="save";
		    dispatchParams(request, response);
			if(id!=null) 
			{
			   Cystyle  cystyle=cystyleSrv.load("where id="+id);
				if(cystyle!=null) 
				{
				    request.setAttribute("cystyle", cystyle);
				}
				actiontype="update";
				request.setAttribute("id", id);
			}
		    request.setAttribute("actiontype", actiontype);
		    String forwardurl=request.getParameter("forwardurl");
		    System.out.println("forwardurl="+forwardurl);
		    if(forwardurl==null){
		     	forwardurl="/admin/cystyleadd.jsp";
		   }
		   forward(forwardurl);
	}
   	/******************************************************
	***********************????????*********************
	*******************************************************/
	public void   get(){
		 String filter="where 1=1 ";
String name=request.getParameter("name");
	              if(name!=null)
	                     filter+="  and name like '%"+name+"%'  ";
		 //
		int pageindex = 1;
		int pagesize = 10;
		// ??????
		String currentpageindex = request.getParameter("currentpageindex");
		// ??????
		String currentpagesize = request.getParameter("pagesize");
		// ?????
		if (currentpageindex != null)
			pageindex = new Integer(currentpageindex);
		// ???????
		if (currentpagesize != null)
			pagesize = new Integer(currentpagesize);
		List<Cystyle> listcystyle = cystyleSrv.getPageEntitys( filter,pageindex, pagesize);
		int recordscount = cystyleSrv.getRecordCount(filter == null ? "" : filter);
		request.setAttribute("listcystyle", listcystyle);
		PagerMetal pm = new PagerMetal(recordscount);
		//????
		pm.setPagesize(pagesize);
		//???????
		pm.setCurpageindex(pageindex);
		// ??????
		request.setAttribute("pagermetal", pm);
		//??????
		dispatchParams(request, response);
		String forwardurl=request.getParameter("forwardurl");
		System.out.println("forwardurl="+forwardurl);
		if(forwardurl==null){
			forwardurl="/admin/cystylemanager.jsp";
		}
forward(forwardurl);
	}
}
@Controller
public class IndexcolumnsController extends SimpleController {

	@Autowired
	private IndexcolumnsService icSrv=null;
	@Autowired
	private LanmuService lanmuSrv=null;
	@Override
	@RequestMapping("/admin/indexcolumnsmanager.do")
	public void mapping(HttpServletRequest request, HttpServletResponse response) {
		mappingMethod(request,response);
	}
	/********************************************************
	 ****************** 信息注销监听支持*****************************
	 *********************************************************/
	public void delete() {
		String[] ids = request.getParameterValues("ids");
		if (ids == null)
			return;
		String spliter = ",";
		String SQL = " delete from indexcolumns  where id in(" + join(spliter, ids)
				+ ")";
		System.out.println("sql=" + SQL);
		Adapter adapter=new MybatisAdapter("applicationContext.xml", "sqlSessionFactoryBean");
		SimpleJdbc dapper=new SimpleJdbc(adapter);
		try {
			dapper.update(SQL);
		} catch (SQLException e) {

			e.printStackTrace();
		}

	}



	/*************************************************************
	 **************** 保存动作监听支持******************************
	 **************************************************************/
	public void save() {

		String forwardurl = request.getParameter("forwardurl");
		// 验证错误url
		String suzuid=request.getParameter("suzuid");
		String errorurl = request.getParameter("errorurl");

		String xtype=request.getParameter("xtype");
		if(suzuid!=null)
		{
			Lanmu temspc=lanmuSrv.load("where id="+suzuid);
			if(temspc!=null&&xtype!=null&&xtype.equals("1"))
			{
				Indexcolumns indexcolumns = new Indexcolumns();
				indexcolumns.setColdes(temspc.getTitle());
				indexcolumns.setColid(temspc.getId());
				indexcolumns.setXtype("资讯");
				indexcolumns.setShowstyle("图片");
				indexcolumns.setLayout("1");
				indexcolumns.setWidth("100%");

				icSrv.save(indexcolumns);
			}
		}
		if (forwardurl == null) {
			forwardurl = "/admin/indexcolumnsmanager.do?actiontype=get";
		}
		redirect(forwardurl);
	}


	/******************************************************
	 *********************** 更新内部支持*********************
	 *******************************************************/
	public void update() {
		String forwardurl = request.getParameter("forwardurl");
		String id = request.getParameter("id");
		if (id == null)
			return;
		Indexcolumns indexcolumns = icSrv.load(new Integer(id));
		if (indexcolumns == null)
			return;
		String coldes = request.getParameter("coldes");
		String colid = request.getParameter("colid");
		String xtype = request.getParameter("xtype");
		String showstyle = request.getParameter("showstyle");
		String layout=request.getParameter("layout");
		String width=request.getParameter("width");

		indexcolumns.setColdes(coldes);
		indexcolumns.setColid(colid == null ? 0 : new Integer(colid));
		indexcolumns.setXtype(xtype);
		indexcolumns.setShowstyle(showstyle);
		indexcolumns.setLayout(layout);
		indexcolumns.setWidth(width);
		icSrv.update(indexcolumns);

		if (forwardurl == null) {
			forwardurl = "/admin/indexcolumnsmanager.do?actiontype=get";
		}
		redirect(forwardurl);
	}

	/******************************************************
	 *********************** 加载内部支持*********************
	 *******************************************************/
	public void load() {
		//
		String id = request.getParameter("id");
		String actiontype = "save";
		dispatchParams(request, response);
		if (id != null) {
			Indexcolumns indexcolumns = (Indexcolumns) icSrv.load("where id=" + id);
			if (indexcolumns != null) {
				request.setAttribute("indexcolumns", indexcolumns);
			}
			actiontype = "update";
			request.setAttribute("id", id);
		}
		request.setAttribute("actiontype", actiontype);
		String forwardurl = request.getParameter("forwardurl");
		System.out.println("forwardurl=" + forwardurl);
		if (forwardurl == null) {
			forwardurl = "/admin/indexcolumnsadd.jsp";
		}
		try {
			request.getRequestDispatcher(forwardurl).forward(request, response);
		} catch (ServletException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/******************************************************
	 *********************** 数据绑定内部支持*********************
	 *******************************************************/
	public void get() {
		String filter = "where 1=1 ";
		String coldes = request.getParameter("coldes");
		if (coldes != null)
			filter += "  and coldes like '%" + coldes + "%'  ";
		//
		int pageindex = 1;
		int pagesize = 10;
		// 获取当前分页
		String currentpageindex = request.getParameter("currentpageindex");
		// 当前页面尺寸
		String currentpagesize = request.getParameter("pagesize");
		// 设置当前页
		if (currentpageindex != null)
			pageindex = new Integer(currentpageindex);
		// 设置当前页尺寸
		if (currentpagesize != null)
			pagesize = new Integer(currentpagesize);
		List<Indexcolumns> listindexcolumns = icSrv.getPageEntitys(filter, pageindex, pagesize);
		int recordscount = icSrv.getRecordCount(filter == null ? "" : filter);
		request.setAttribute("listindexcolumns", listindexcolumns);
		PagerMetal pm = new PagerMetal(recordscount);
		// 设置尺寸
		pm.setPagesize(pagesize);
		// 设置当前显示页
		pm.setCurpageindex(pageindex);
		// 设置分页信息
		request.setAttribute("pagermetal", pm);
		// 分发请求参数
		dispatchParams(request, response);
		String forwardurl = request.getParameter("forwardurl");
		System.out.println("forwardurl=" + forwardurl);
		if (forwardurl == null) {
			forwardurl = "/admin/indexcolumnsmanager.jsp";
		}
		try {
			request.getRequestDispatcher(forwardurl).forward(request, response);
		} catch (ServletException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/749453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一分钟让你学会如何判断文件是否结束

文章目录 前言ferror函数feof函数ferror函数与feof函数搭配使用 前言 在所有的文件输入输出函数中&#xff0c;我们介绍了一系列的与文件的顺序读写有关的函数&#xff0c;它们调用成功与失败时的返回值各不相同&#xff0c;为了能更好地记忆这些函数&#xff0c;我们将这些函…

react使用SVGA特效 常用api

下载插件 npm install svgaplayerweb --save react中代码 import React, { useEffect } from react; import SVGA from svgaplayerweb const Svga () > {const bofang () > {var player new SVGA.Player(#demoCanvas);//创建实例var parser new SVGA.Parser(#demo…

【经验贴】项目管理过程中最容易忽略的问题,你踩了几个?

“有没有一句话送给刚入行的项目经理&#xff1f;” 随着毕业季的到来&#xff0c;最近发现越来越多类似的话题&#xff0c;评论区成了众多项目经理自嘲的“据点”&#xff0c;部分新手项目经理看完可能要重新考虑下职业规划了。 “要重点关注客户的需求&#xff0c;而不是项…

Android蓝牙协议栈fluoride(一) - 概述

发展 Android 4.2之前的版本采用Linux官方的蓝牙协议栈BlueZ&#xff0c;Android 4.2开始使用google和Broadcom共同开发的Bluedroid来替代BlueZ&#xff0c;但早期的Bluedroid并不完善&#xff0c;存在较多问题&#xff0c;更新迭代后将其更名为fluoride。接下来的系列文章将逐…

接口测试之深入理解HTTPS

前言 随着网络安全问题越来越被重视&#xff0c;HTTPS协议的使用已经逐渐主流化。目前的主流站点均已使用了HTTPS协议&#xff1b;比如&#xff1a;百度、淘宝、京东等一二线主站都已经迁移到HTTPS服务之上。而作为测试人员来讲&#xff0c;也要需时俱进对HTTPS协议要有一定的…

分布式调用与高并发处理 Dubbo分布式调用

一、Dubbo概念 1.1 什么是分布式系统 单机架构 一个系统业务量很小的时候所有的代码都放在一个项目中就好了&#xff0c;然后这个项目部署在一台服务器上&#xff0c;整个项目所有的服务都由这台服务器提供。 缺点&#xff1a; 服务性能存在瓶颈代码量庞大&#xff0c;系统臃…

未跟踪的文件: (使用 “git add <文件>...“ 以包含要提交的内容)怎么移除这些内容

有时候我们常常修改一些内容 手动就是&#xff1a;rm -rf system/core/healthd/images/.png 怎么丢弃呢&#xff1f; git clean -f . 删除这种文件

微信小程序设置底部导航栏

微信小程序设置底部导航栏 1、前言2、图标准备3、小程序tabbar设置 1、前言 我们先来看下效果图&#xff1a; 注意&#xff1a; 导航栏数量最多5个&#xff0c;最少两个。 2、图标准备 阿里图标库 http://www.iconfont.cn/collections/show/29 我们进入该网站&#xff0c;选…

第九章(1):循环神经网络与pytorch示例(RNN实现股价预测)

第九章&#xff08;1&#xff09;&#xff1a;循环神经网络与pytorch示例&#xff08;RNN实现股价预测&#xff09; 作者&#xff1a;安静到无声 个人主页 作者简介&#xff1a;人工智能和硬件设计博士生、CSDN与阿里云开发者博客专家&#xff0c;多项比赛获奖者&#xff0c;发…

1.4 MVP矩阵

MVP矩阵代表什么 MVP矩阵分别是模型&#xff08;Model&#xff09;、观察&#xff08;View&#xff09;、投影&#xff08;Projection&#xff09;三个矩阵。 我们的顶点坐标起始于局部空间&#xff08;Local Space&#xff09;&#xff0c;在这里他成为局部坐标&#xff08;L…

【PHP面试题35】什么是MVC,为什么要使用它

文章目录 一、前言二、MVC介绍2.1 模型&#xff08;Model&#xff09;2.2 视图&#xff08;View&#xff09;2.3 控制器&#xff08;Controller&#xff09; 三、MVC模式的优点四、总结 一、前言 本文已收录于PHP全栈系列专栏&#xff1a;PHP面试专区。 计划将全覆盖PHP开发领域…

『分割』 平面模型分割

PCL提供的几个常见模型&#xff1a; pcl::SACMODEL_PLANE&#xff1a;平面模型&#xff0c;用于拟合平面结构的点云数据。 pcl::SACMODEL_SPHERE&#xff1a;球体模型&#xff0c;适用于拟合球体结构的点云数据。 pcl::SACMODEL_CYLINDER&#xff1a;圆柱体模型&#xff0c;用…

一个四年Android程序猿的2023上半年总结

一晃就做了四年的Android开发了&#xff0c;时光飞逝啊&#xff5e; 工作的时间飞快&#xff0c;感觉每一天都很充实&#xff0c;但是大多数都是重复的样子。 去年的目标达成&#xff1a; 去年的目标就是学习学习&#xff0c;涨薪涨薪。上家公司的同事氛围很不错&#xff0…

一篇文章了解Redis分布式锁

Redis分布式锁 什么是分布式锁&#xff1f; ​ redis分布式锁是一种基于redis实现的锁机制&#xff0c;它用于在多并发分布式环境下控制并发访问共享资源。在多个应用程序或是进程访问共享资源时&#xff0c;分布式锁可以确保只有一个进程可以访问该资源&#xff0c;不会发生…

采用555时基电路的简易/可调定时长延时电路设计

采用 555 时基电路的简易长延时电路 本电路和一般的定时电路相比是通过在 555 时基电路的 5 脚处加了一个二极管 VD1&#xff0c;使得定时时间延长的特点。 一、电路工作原理 电路原理如图 11 所示。 当按下按钮SB时&#xff0c;12V的电源通过电阻器Rt向电容器Ct充电&#…

弹性IP和公网IP有什么区别?哪个好

​  弹性IP和公网IP有什么区别?哪个好。IP是服务器重要的组成资源&#xff0c;一台云服务器实例一般分为公网IP和内网IP&#xff0c;公网IP指的是对外访问的IP地址&#xff0c;是针对公众用户的IP&#xff0c;这是网站绑定的服务器IP地址。而内网IP顾名思义就是内部的网络IP…

Android Monkey稳定性测试

l 命令样例&#xff1a; adb shell monkey -p packagename --ignore-timeouts --ignore-crashes -v -v --throttle 200 1000000 各个参数的意义如下&#xff1a; -p 用此参数指定一个或多个包&#xff08;Package&#xff09;。指定包之后&#xff0c;Monkey将只允许系统启…

cmake多文件、多文件夹编译(2)

一、同级文件夹下代码调用问题 目录如下&#xff1a; ./testCMake&#xff08;根目录&#xff09;&#xff1a; /build&#xff1a; /MyClass: CMakeLists.txt MyClass.cpp MyClass.h /MyFunction: CMakeLists.txt MyFunction.cpp MyFunction.h CMakeLists.txt main.cpp 上述…

day35-Postman/ajax

0目录 1.postman 2.ajax 1.Postman 1.1 定义&#xff1a;postman用于测试http协议接口&#xff0c;无论是开发还是测试人员 1.2 Servlet中的doGet&#xff08;&#xff09;/daPost…

基于JavasSwing+MySQL的医药销售管理系统

点击以下链接获取源码&#xff1a; https://download.csdn.net/download/qq_64505944/87987881?spm1001.2014.3001.5503 功能&#xff1a;管理员与普通用户两个角色登录&#xff0c;可以增删改查用户&#xff0c;增删改查药品等功能 JDK1.8 MySQL5.7