基于javaweb+mysql的jsp+servlet旅游管理系统(java+jsp+html+bootstrap+servlet+mysql)

基于javaweb+mysql的jsp+servlet旅游管理系统(java+jsp+html+bootstrap+servlet+mysql)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的JSP+Servlet旅游管理系统(java+jsp+html+bootstrap+servlet+mysql)

项目介绍

本项目分为前台与后台,前台为游客浏览,后台为管理员管理;

管理员角色包含以下功能: 管理员登录,管留言信息修改,景点管理,资讯管理,图片库管理,留言管理,管理员管理等功能。

用户角色包含以下功能: 用户首页,景点介绍,人文地理,地区资讯,留言等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本; 6.是否Maven项目:否;

技术栈

HTML5+Ajax+CSS+JavaScript+BootStrap+jQuery+servlet+mysql

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中util/db.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,前台运行地址输入http://localhost:8080/travel 登录 后台运行地址输入http://localhost:8080/travel/admin 登录 管理员账号/密码:admin/admin
@WebServlet("/admin/ScenEdit")
public class ScenEdit extends HttpServlet {
	private static final long serialVersionUID = 1L;
       ScenOperator scenOperator=new ScenOperator();
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ScenEdit() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();

		// 上下文
		PageContext pageContext = JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true,
				8 * 1024, true);

		// 上传到目录个数
		int count = 0;
		
		int scenid=0;
		String scenname = null;// 名表横
		String scenintro = null;// 介绍
		String scenlevel = null;// 星级
		String scentitle = null;// 标题
		String scenfeature = null;// 特色
		String scentraff = null;// 交通
		String scenmap = null;// 地图
		String picpath = null;// 图片
		String scenadd = null;// 地址
		String scennameen = null;// 英文名
		int scenorder=0;
		String scenurl=null;
		// 景点对象
		Scen scen=null;
		
				json.put("info_date", info.getInfo_date());
				System.out.println("InfoShow---:"+info.getInfo_date());
				json.put("info_order", info.getInfo_order());
				// 将Json对象放入数组
				infoMore.add(json);
			}

			// 传到页面
			out.print(infoMore);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		out.close();
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

/**
 * Servlet implementation class BannerDel 
 * 根据Id删除轮播图片
 */
@WebServlet("/admin/BannerDel")
public class BannerDel extends HttpServlet {
	private static final long serialVersionUID = 1L;

	BanOperator banOperator = new BanOperator();

/**
 * Servlet implementation class BannerAdd
 */
@WebServlet("/admin/BannerAdd")
public class BannerAdd extends HttpServlet {
	private static final long serialVersionUID = 1L;

	BanOperator banOperator = new BanOperator();

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public BannerAdd() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doPost(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doPost(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();

		// 获取要删除的ID
		int banid = Integer.parseInt(request.getParameter("banid"));
		// 删除的文件的路径
		String banpath = request.getParameter("banpath");

		System.out.println("删除轮播图" + banid);
		if (banOperator.delBan(banid)) {
			// 获取要删除的图片或者文件的绝对路径
			File file = new File(request.getServletContext().getRealPath(getServletInfo()) + "/" + banpath);
			// 路径和文件名称
			System.out.println(file.getPath());
			System.out.println(file.getName());
			// 如果文件存在
			if (file.exists()) {
				//file.delete();
				System.out.println("删除成功");
				out.flush();// 清空缓存
				out.println("<script>");// 输出script标签
				out.println("alert('删除成功!');");// js语句:输出alert语句
				out.println("history.back();");// js语句:输出网页回退语句
				out.println("</script>");// 输出script结尾标签
			} else {
				System.out.println("删除失败,文件不存在!");
				out.flush();// 清空缓存
				out.println("<script>");// 输出script标签
				out.println("alert('删除失败,文件不存在!');");// js语句:输出alert语句
			out.print(scenMore);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		out.close();
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

/**
 * Servlet implementation class UserList
 */
@WebServlet("/admin/UserList")
public class UserList extends HttpServlet {
	private static final long serialVersionUID = 1L;
       UserOperator userOperator=new UserOperator();
    /**
     * @see HttpServlet#HttpServlet()
     */
    public UserList() {
        super();
        // TODO Auto-generated constructor stub
 * 删除景点
 */
@WebServlet("/admin/ScenDel")
public class ScenDel extends HttpServlet {
	private static final long serialVersionUID = 1L;
      ScenOperator scenOperator=new ScenOperator();
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ScenDel() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out=response.getWriter();
		
		//获取要删除的景点ID
		int scenid=Integer.parseInt(request.getParameter("scenid"));
		//景点图片
		String scenpic=request.getParameter("scenpic");
		System.out.println("/admin/ScenDel");
		
		if (scenOperator.delScen(scenid)) {		
			//获取要删除的图片或者文件的绝对路径
			File file = new File(request.getServletContext().getRealPath(getServletInfo())+"/"+scenpic);	 
			//路径和文件名称
			System.out.println(file.getPath());
			System.out.println(file.getName());
			//如果文件存在
			if (file.exists()) {
				//file.delete();
				System.out.println("删除成功");
				out.flush();// 清空缓存
				out.println("<script>");// 输出script标签
				out.println("alert('删除成功!');");// js语句:输出alert语句
				out.println("history.back();");// js语句:输出网页回退语句
				out.println("</script>");// 输出script结尾标签
			}
			else {				 
				System.out.println("删除失败,文件不存在!");
				out.flush();// 清空缓存
				out.println("<script>");// 输出script标签
		// TODO Auto-generated method stub
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();

		//删除资讯的ID
		int infoid = Integer.parseInt(request.getParameter("infoid"));
		
		//删除的文件名称
		String infopic=request.getParameter("infopic");
		System.out.println("/admin/InfoDel:" + infoid);
		if (infoOperator.delInfo(infoid)) {
			//获取要删除的图片或者文件的绝对路径
			File file = new File(request.getServletContext().getRealPath(getServletInfo())+"/"+infopic);	 
			//路径和文件名称
			System.out.println(file.getPath());
			System.out.println(file.getName());
			//如果文件存在
			if (file.exists()) {
				//file.delete();
				System.out.println("删除成功");
				out.flush();// 清空缓存
				out.println("<script>");// 输出script标签
				out.println("alert('删除成功!');");// js语句:输出alert语句
				out.println("history.back();");// js语句:输出网页回退语句
				out.println("</script>");// 输出script结尾标签
			}
			else {				 
				System.out.println("删除失败,文件不存在!");
				out.flush();// 清空缓存
				out.println("<script>");// 输出script标签
				out.println("alert('删除失败,文件不存在!');");// js语句:输出alert语句
				out.println("history.back();");// js语句:输出网页回退语句
				out.println("</script>");// 输出script结尾标签
			}
		}
		out.close();
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

		// 上传到目录个数
		int count = 0;
		
		
		String info_title = null;
		String info_txt = null;
		String info_tag = null;
		String info_pic = null;
		String info_url = null;
		int info_order = 0;

		// 资讯实体对象
		Info info = null;
		
		System.out.println("资讯图片上传--/admin/InfoAdd");
		// 新建一个SmartUpload对象
		SmartUpload su = new SmartUpload();
		// 上传初始化
		su.initialize(pageContext);

		// 设置上传限制
		// 1.限制每个上传文件的最大长度为10MB
		su.setMaxFileSize(10 * 1024 * 1024);
		// 2.限制总上传文件的长度
		su.setTotalMaxFileSize(30 * 1024 * 1024);
		// 3.设定允许上传的文件
		su.setAllowedFilesList("gif,jpg,png,jpeg,bmp,ico");
		// 4.设定禁止上传的文件
		try {
			su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			System.out.println("不允许上传此类文件");
			e.printStackTrace();
		}

		// 上传文件
		try {
			su.upload();
		} catch (SmartUploadException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		// TODO Auto-generated method stub

		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
		// request.getRemoteAddr();
		System.out.println("*--------------------------------------------------*");
		System.out.println("新增留言:MsgAdd");
		String author = null;
		String msg_text = null;
		String msg_ip = null;
		String email = null;

		author = request.getParameter("author");
		email = request.getParameter("email");
		msg_text = request.getParameter("msg_text");
		msg_ip = getIpAddress(request);
		System.out.println("IpAddr" + msg_ip);

		Msg msg = new Msg(author, msg_text, msg_ip, msg_ip, email);

		if (msgOperator.addMsg(msg)) {
			System.out.println("留言成功!");
			out.flush();// 清空缓存
			out.println("<script>");// 输出script标签
			out.println("alert('留言成功!');");// js语句:输出alert语句
			out.println("history.back();");// js语句:输出网页回退语句
			out.println("</script>");// 输出script结尾标签
		}

		else {
			System.out.println("留言失败!");
			out.flush();// 清空缓存
			out.println("<script>");// 输出script标签
			out.println("alert('留言失败!');");// js语句:输出alert语句
			out.println("history.back();");// js语句:输出网页回退语句
			out.println("</script>");// 输出script结尾标签
		}

		out.close();

	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String info_date = null;
		int info_order = 0;

		// 资讯实体对象
		Info info = null;

		System.out.println("资讯图片上传");
		// 新建一个SmartUpload对象
		SmartUpload su = new SmartUpload();
		// 上传初始化
		su.initialize(pageContext);

		// 设置上传限制
		// 1.限制每个上传文件的最大长度为10MB
		su.setMaxFileSize(10 * 1024 * 1024);
		// 2.限制总上传文件的长度
		su.setTotalMaxFileSize(30 * 1024 * 1024);
		// 3.设定允许上传的文件
		su.setAllowedFilesList("gif,jpg,png,jpeg,bmp,ico");
		// 4.设定禁止上传的文件
		try {
			su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			System.out.println("不允许上传此类文件");
			e.printStackTrace();
		}

		// 上传文件
		try {
			su.upload();
		} catch (SmartUploadException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		// 将上传的文件全部保存到指定目录
		// 图片轮播的路径

		try {
			count = su.save("/image/info");

		} catch (SmartUploadException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
				json.put("info_pic", info.getInfo_pic());
				json.put("info_url", info.getInfo_url());
				json.put("info_date", info.getInfo_date());
				System.out.println("InfoShow---:"+info.getInfo_date());
				json.put("info_order", info.getInfo_order());
				// 将Json对象放入数组
				infoMore.add(json);
			}

			// 传到页面
			out.print(infoMore);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		out.close();
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

/**
 * Servlet implementation class BannerDel 
 * 根据Id删除轮播图片

/**
 * Servlet implementation class InfoEdit
 */
@WebServlet("/admin/InfoEdit")
public class InfoEdit extends HttpServlet {
	private static final long serialVersionUID = 1L;
	InfoOperator infoOperator = new InfoOperator();

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public InfoEdit() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();

		// 上下文
		PageContext pageContext = JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true,
				8 * 1024, true);

		// 上传到目录个数
		int count = 0;

			//遍历该集合
			for (int i = 0; i < list.size(); i++) {
				// Json对象	
				JSONObject json=new JSONObject();

				// 查询结果集
				Scen scen = list.get(i);
				//讲遍历对象的值分别放进json对象
				json.put("scenid", scen.getScenid());
				json.put("scenname", scen.getScenname());
				json.put("scenlevel",scen.getScenlevel());
				json.put("scentitle", scen.getScentitle());
				json.put("scenadd", scen.getScenadd());
				json.put("scenurl", scen.getScenurl());
				json.put("scenpic", scen.getPicpath());
				json.put("scenfeature", scen.getScenfeature());
				// 将Json对象放入数组
				scenJson.add(json);
			}

			// 将json数组传到页面
			out.print(scenJson);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		out.close();
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

			su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			System.out.println("不允许上传此类文件");
			e.printStackTrace();
		}
		// 上传文件
		try {
			su.upload();
		} catch (SmartUploadException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		// 将上传的文件全部保存到指定目录
		// 图片轮播的路径
		try {
			count = su.save("/image/scen");

		} catch (SmartUploadException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println(count + "个文件上传成功!");

		// 利用Request对象获取参数之值

		// 逐一提取上传文件信息,同时可保存文件
		for (int i = 0; i < su.getFiles().getCount(); i++) {
			File file = su.getFiles().getFile(i);
			// 若文件不存在则继续
			if (file.isMissing()) {
				continue;
			}
			scenname 	= su.getRequest().getParameter("scen-name");
			scenintro	= su.getRequest().getParameter("scen-intro");
			scenlevel	= su.getRequest().getParameter("scen-level");
			scentitle	= su.getRequest().getParameter("scen-title");
			scenfeature	= su.getRequest().getParameter("scen-feature");
			scentraff	= su.getRequest().getParameter("scen-traff");
			scenmap		= su.getRequest().getParameter("scen-map");
			picpath		= "image/scen/" + file.getFileName();
			scenadd		= su.getRequest().getParameter("scen-add");
			scennameen	= su.getRequest().getParameter("scen-name-en");
			scenorder=Integer.parseInt(su.getRequest().getParameter("scen-order"));
			scenurl=su.getRequest().getParameter("scen-url");
			
			scen = new Scen(scenname, scenintro, scenlevel, scentitle, scenfeature, scentraff, scenmap, picpath, scenadd, scennameen, scenorder, scenurl);
			if (scenOperator.addScen(scen)) {
				
				/*---------------------------------------------------------*/
     */
    public ScenEdit() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();

		// 上下文
		PageContext pageContext = JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true,
				8 * 1024, true);

		// 上传到目录个数
		int count = 0;
		
		int scenid=0;
		String scenname = null;// 名表横
		String scenintro = null;// 介绍
		String scenlevel = null;// 星级
		String scentitle = null;// 标题
		String scenfeature = null;// 特色
		String scentraff = null;// 交通
		String scenmap = null;// 地图
		String picpath = null;// 图片
		String scenadd = null;// 地址
		String scennameen = null;// 英文名
		int scenorder=0;
		String scenurl=null;
		// 景点对象
		Scen scen=null;
		
		System.out.println("景点图片上传");
		// 新建一个SmartUpload对象
		SmartUpload su = new SmartUpload();
		// 上传初始化
		su.initialize(pageContext);

		// 设置上传限制
		// 1.限制每个上传文件的最大长度为10MB
		su.setMaxFileSize(10 * 1024 * 1024);
		// 2.限制总上传文件的长度
		su.setTotalMaxFileSize(30 * 1024 * 1024);
		// 3.设定允许上传的文件
		su.setAllowedFilesList("gif,jpg,png,jpeg,bmp,ico");
		// 4.设定禁止上传的文件
		try {
			su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
				Scen scen = list.get(i);
				//讲遍历对象的值分别放进json对象
				json.put("scenid", scen.getScenid());
				json.put("scenname", scen.getScenname());
				json.put("scenlevel",scen.getScenlevel());
				json.put("scentitle", scen.getScentitle());
				json.put("scenadd", scen.getScenadd());
				json.put("scenurl", scen.getScenurl());
				json.put("scenpic", scen.getPicpath());
				json.put("scenfeature", scen.getScenfeature());
				// 将Json对象放入数组
				scenJson.add(json);
			}

			// 将json数组传到页面
			out.print(scenJson);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		out.close();
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

 

		int banid=0;
		String banname=null;
		String bantitle=null;
		String banpath=null;
		Banner banner=null;
		
		System.out.println("轮播图片编辑");
		// 新建一个SmartUpload对象
		SmartUpload su = new SmartUpload();
		// 上传初始化
		su.initialize(pageContext);
		
		// 设置上传限制
		// 1.限制每个上传文件的最大长度为10MB
		su.setMaxFileSize(10 * 1024 * 1024);
		// 2.限制总上传文件的长度
		su.setTotalMaxFileSize(30 * 1024 * 1024);
		// 3.设定允许上传的文件
		su.setAllowedFilesList("gif,jpg,png,jpeg,bmp,ico");
		// 4.设定禁止上传的文件
		try {
			su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			System.out.println("不允许上传此类文件");
			e.printStackTrace();	
		}
		
		
		// 上传文件
				try {
					su.upload();
				} catch (SmartUploadException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
				// 将上传的文件全部保存到指定目录
				// 图片轮播的路径
				
				try {
					count = su.save("/image/banner");		
					
				} catch (SmartUploadException e) {

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 23
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于JavaWeb Servlet+JSP的量表系统可以通过以下步骤实现: 1.创建数据库表格,包括量表信息、题目信息、选项信息和用户答题记录信息等。 2.使用Servlet实现用户登录、注册、修改密码等功能。 3.使用JSP实现量表列表展示、量表详情展示、答题页面展示等功能。 4.使用ServletJSP实现用户答题记录的增加、查询、修改和删除等功能。 5.使用Bootstrap等前端框架美化页面,提高用户体验。 以下是一个简单的基于JavaWeb Servlet+JSP的量表系统的代码示例: 引用:基于JavaWeb Servlet+JSP+MYSQL+Bootstrap 文章管理系统 基于JavaWeb Servlet+JSP+MYSQL+Bootstrap 文章管理系统 基于JavaWeb Servlet+JSP+MYSQL+Bootstrap 文章管理系统 基于JavaWeb Servlet+JSP+MYSQL+Bootstrap ... 引用: ```java <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>量表详情</title> </head> <body> <h1>量表详情</h1> <table> <tr> <td>量表名称:</td> <td>${scale.name}</td> </tr> <tr> <td>量表描述:</td> <td>${scale.description}</td> </tr> <tr> <td>题目列表:</td> <td> <table> <c:forEach items="${scale.questions}" var="question"> <tr> <td>${question.content}</td> <td> <c:forEach items="${question.options}" var="option"> <input type="radio" name="${question.id}" value="${option.id}">${option.content} </c:forEach> </td> </tr> </c:forEach> </table> </td> </tr> </table> <form action="submit" method="post"> <input type="hidden" name="scaleId" value="${scale.id}"> <input type="submit" value="提交"> </form> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值