基于javaweb+mysql的jsp+servlet美食菜谱分享平台(java+servlet+mysql+jsp)

基于javaweb+mysql的jsp+servlet美食菜谱分享平台(java+servlet+mysql+jsp)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb+mysql的JSP+Servlet美食菜谱分享平台(java+servlet+mysql+jsp)

启动前先修改上传路径为项目编译后的目录:

yjf.psyd.servlet.CreateRecipeServlet.path

首页:

http://localhost:8080/index

登录:

user1 123456

user2 123456

user3 123456

搜索、查看、收藏、创建菜谱等

		// 设置响应编码格式
		resp.setContentType("text/html;charset=utf-8");
		// 获取操作符
		String oper = req.getParameter("oper");
		if ("register".equals(oper)) {
			// 调用注册方法
			userRegister(req, resp);
		} else if ("login".equals(oper)) {
			// 调用登录方法
			checkUserLogin(req, resp);
		} else if ("out".equals(oper)) {
			// 调用退出方法
			userOut(req, resp);
		} else if ("checkUserName".equals(oper)) {
			// 调用验证用用户名是否存在方法
			checkUserName(req, resp);
		} else {
			System.out.println("没有找到对应的操作符:" + oper);
		}
	}

	// 利用ajax请求验证用户名是否存在
	private void checkUserName(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		// 获取请求信息
		String username = req.getParameter("username");
		// 处理请求信息
		UserService us = new UserServiceImpl();
		boolean isExist = us.checkUserNameService(username);
		// 响应请求结果
		if (isExist) {
			resp.getWriter().write("{\"valid\":false}");
		} else {
			resp.getWriter().write("{\"valid\":true}");
		}
	}

	// 处理用户注册
	private void userRegister(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		// 获取请求信息
		String createDate = null;
		String username = req.getParameter("username");
		String password = req.getParameter("password");
		// 获取系统当前日期
		Date dateNow = new Date(System.currentTimeMillis());
		createDate = dateNow.toString();
		// 处理请求信息
		// 获取service层对象
		UserService us = new UserServiceImpl();
		int index = us.userRegisterService(createDate, username, password);
//		System.out.println(index);
        // 检查前台表单form是否有multipart
        if (ServletFileUpload.isMultipartContent(req)) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            // 通过parseRequest解析form中的所有请求字段,并保存到items集合中
            List<FileItem> items = null;
            try {
                items = upload.parseRequest(req);
            } catch (FileUploadException e1) {
                e1.printStackTrace();
            }
            // 遍历List中的数据
//			Iterator<FileItem> iter = items.iterator();
//			while (iter.hasNext()) {
//				FileItem item = iter.next();
            for (FileItem item : items) {
                String itemName = item.getFieldName();
                // 判断前台字段是普通form表单字段,还是文件字段
                if (item.isFormField()) {
                    // 普通上传
                    if (itemName.equals("recTitle")) {
                        title = item.getString("utf-8");
                    } else if (itemName.equals("recInfo")) {
                        info = item.getString("utf-8");
                    } else if (itemName.equals("recMaterial")) {
                        material = item.getString("utf-8");
                    } else if (itemName.equals("recCategory")) {
                        categorys.add(item.getString("utf-8"));
                    } else {
                        if (!"".equals(item.getString("utf-8"))) {
                            stepInfos.add(item.getString("utf-8"));
                        } else {
                            stepInfos.add("");
                        }

                    }
                } else {
                    // 文件上传
                    String fileName = item.getName();
                    // 判断文件名是否为不为空

}

@WebServlet("/recipeDetail")
public class RecipeDetailServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public RecipeDetailServlet() {
		super();
	}

	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 1、获取请求信息
		String recipeId = req.getParameter("recipeId");
		// 获取session对象,用session判断是否收藏
		HttpSession hs = req.getSession();
		// 把session中的值传到user对象中
		User user = (User) hs.getAttribute("user");

		// 2、处理请求信息
		RecipeService rs = new RecipeServiceImpl();
		Recipe r = rs.recipeDetailService(recipeId, user);
		// 3、响应请求结果
		req.setAttribute("recipe", r);
		// 输出r
//			System.out.println(r);
		// 请求转发
		req.getRequestDispatcher("/recipeStepRetail").forward(req, resp);
		return;

	}


@WebServlet("/createRecipe")
public class CreateRecipeServlet extends HttpServlet {

    public static String rootPath = "C:\\Users\\Administrator\\Desktop\\361723322209\\project\\out\\artifacts\\project_Web_exploded\\upload\\";

    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public CreateRecipeServlet() {
        super();
    }

    // 处理创建菜谱
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        System.out.println("地址改为这个:");
        System.out.println("地址改为这个:");
        System.out.println("地址改为这个:");
        System.out.println("地址改为这个:");
        System.out.println(req.getRealPath("/upload"));

        // 设置请求编码格式
        req.setCharacterEncoding("utf-8");
        // 设置响应编码格式
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");

        // 1、获取请求信息
        String createDate = null;
        String title = null;
        String info = null;
        String material = null;
        List<String> stepInfos = new LinkedList<>();
        List<String> categorys = new LinkedList<>();
        String coverFilePath = null;
        List<File> stepFiles = new LinkedList<>();
        List<String> stepFilesPath = new LinkedList<>();
     * @see HttpServlet#HttpServlet()
     */
    public CreateRecipeServlet() {
        super();
    }

    // 处理创建菜谱
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        System.out.println("地址改为这个:");
        System.out.println("地址改为这个:");
        System.out.println("地址改为这个:");
        System.out.println("地址改为这个:");
        System.out.println(req.getRealPath("/upload"));

        // 设置请求编码格式
        req.setCharacterEncoding("utf-8");
        // 设置响应编码格式
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");

        // 1、获取请求信息
        String createDate = null;
        String title = null;
        String info = null;
        String material = null;
        List<String> stepInfos = new LinkedList<>();
        List<String> categorys = new LinkedList<>();
        String coverFilePath = null;
        List<File> stepFiles = new LinkedList<>();
        List<String> stepFilesPath = new LinkedList<>();
        User user = null;

        // 获取系统当前日期
        Date dateNow = new Date(System.currentTimeMillis());
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        createDate = dateFormat.format(dateNow);
//		System.out.println(createDate);

        // 检查前台表单form是否有multipart
        if (ServletFileUpload.isMultipartContent(req)) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            // 通过parseRequest解析form中的所有请求字段,并保存到items集合中
            List<FileItem> items = null;
            try {
                items = upload.parseRequest(req);
            } catch (FileUploadException e1) {
                e1.printStackTrace();
            }
            // 遍历List中的数据
//			Iterator<FileItem> iter = items.iterator();
@WebServlet("/recipeCategory")
public class RecipeCategoryServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public RecipeCategoryServlet() {
		super();
	}

	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 1、接收请求信息
		String item = req.getParameter("item");
		String categoryName = req.getParameter("categoryName");
		// 菜谱动态分页请求
		String categoryCP = req.getParameter("categoryCurrentPage");
		if (categoryCP == null) {
			categoryCP = "1";
		}
		int categoryCp = Integer.parseInt(categoryCP);
		// 设置网页大小
		int pageSize = 8;
		
		// 2、处理请求信息
		PageService pages = new PageServiceImpl();
		CategoryPage cp = new CategoryPage();
		cp = pages.categoryPageService(item, categoryCp);
		// 加入分页信息
		cp.setItem(item);
		cp.setCategoryName(categoryName);
		cp.setPageSize(pageSize);
		cp.setCurrentPage(categoryCp);
		
		// 3、请求响应结果
		req.setAttribute("categoryp", cp);
		// 转发
		req.getRequestDispatcher("/categoryList.jsp").forward(req, resp);
	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}

}

@WebServlet("/homePage")
public class HomePageServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HomePageServlet() {
        super();
    }

    // 处理个人中心信息的请求功能
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 1、获取请求信息
		String userId = req.getParameter("userId");
		// li为个人中心首页标签页索引
		String li = req.getParameter("li");
		if(li==null) {
			li = "1";
		}
		int Li = Integer.parseInt(li);
		
		// 菜谱动态分页请求
		String createCP = req.getParameter("createCurrentPage");
		if(createCP==null) {
			createCP = "1";
		}
		int createCp = Integer.parseInt(createCP);
		int createPageSize = 6;

@WebServlet("/recipeDetail")
public class RecipeDetailServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public RecipeDetailServlet() {
		super();
	}

	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 1、获取请求信息
		String recipeId = req.getParameter("recipeId");
		// 获取session对象,用session判断是否收藏
		HttpSession hs = req.getSession();
		// 把session中的值传到user对象中
		User user = (User) hs.getAttribute("user");

		// 2、处理请求信息
		RecipeService rs = new RecipeServiceImpl();
		Recipe r = rs.recipeDetailService(recipeId, user);
		// 3、响应请求结果
		req.setAttribute("recipe", r);
		// 输出r
//			System.out.println(r);
		// 请求转发
		req.getRequestDispatcher("/recipeStepRetail").forward(req, resp);
		return;

	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
}

            } catch (FileUploadException e1) {
                e1.printStackTrace();
            }
            // 遍历List中的数据
//			Iterator<FileItem> iter = items.iterator();
//			while (iter.hasNext()) {
//				FileItem item = iter.next();
            for (FileItem item : items) {
                String itemName = item.getFieldName();
                // 判断前台字段是普通form表单字段,还是文件字段
                if (item.isFormField()) {
                    // 普通上传
                    if (itemName.equals("recTitle")) {
                        title = item.getString("utf-8");
                    } else if (itemName.equals("recInfo")) {
                        info = item.getString("utf-8");
                    } else if (itemName.equals("recMaterial")) {
                        material = item.getString("utf-8");
                    } else if (itemName.equals("recCategory")) {
                        categorys.add(item.getString("utf-8"));
                    } else {
                        if (!"".equals(item.getString("utf-8"))) {
                            stepInfos.add(item.getString("utf-8"));
                        } else {
                            stepInfos.add("");
                        }

                    }
                } else {
                    // 文件上传
                    String fileName = item.getName();
                    // 判断文件名是否为不为空
                    if (fileName != null && !"".equals(fileName)) {
                        if (itemName.equals("recCover")) {
                            // 获取文件内容 并上传
                            String path = rootPath + "cover";
                            // 使用uuid生成随机数,调用工具类
                            String uuidFileName = UploadTools.getUUIDFileName(fileName);
                            File coverFile = new File(path, uuidFileName);
                            // 判断文件夹是否存在,如不存在则创建文件夹
                            if (!coverFile.exists()) {
                                // 先得到文件的上级目录,并创建上级目录,在创建文件
                                coverFile.getParentFile().mkdir();
                                try {
                                    // 创建文件
                                    coverFile.createNewFile();
                                } catch (IOException e) {
                                    e.printStackTrace();
                                }
                                try {
                                    item.write(coverFile);
		}
		int categoryCp = Integer.parseInt(categoryCP);
		// 设置网页大小
		int pageSize = 8;
		
		// 2、处理请求信息
		PageService pages = new PageServiceImpl();
		CategoryPage cp = new CategoryPage();
		cp = pages.categoryPageService(item, categoryCp);
		// 加入分页信息
		cp.setItem(item);
		cp.setCategoryName(categoryName);
		cp.setPageSize(pageSize);
		cp.setCurrentPage(categoryCp);
		
		// 3、请求响应结果
		req.setAttribute("categoryp", cp);
		// 转发
		req.getRequestDispatcher("/categoryList.jsp").forward(req, resp);
	}

	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}

}

                }
            }
        }
        // 获取session对象
        HttpSession hs = req.getSession();
        // 把session中的值传到user对象中
        user = (User) hs.getAttribute("user");
//		System.out.println(user);
//		if (hs.getAttribute("user") != null) {
//			System.out.println("session不为空");
//		} else {
//			System.out.println("session为空");
//		}
//		System.out.println(title);
//		System.out.println("封面上传成功!路径:" + coverFilePath);
//		for(File stepFilePath : stepFiles) {
//			System.out.println("步骤上传成功!路径:" + stepFilePath);
//		}
//		for (String stepInfo : stepInfos) {
//			System.out.println(stepInfo);
//		}
//		for (String category : categorys) {
//			System.out.println(category);
//		}
        RecipeService us = new RecipeServiceImpl();
        int index = us.createRecipeService(createDate, title, info, material, stepInfos, categorys, coverFilePath,
                stepFilesPath, user);
        // 响应处理结果
        if (index > 0) {
            // 弹窗提示,点击后转跳
            PrintWriter out = resp.getWriter();
        } else {
            PrintWriter out = resp.getWriter();
        }
    }
}

	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 设置请求编码格式
		req.setCharacterEncoding("utf-8");
		// 设置响应编码格式
		resp.setContentType("text/html;charset=utf-8");
		// 获取操作符
		String oper = req.getParameter("oper");
		if ("register".equals(oper)) {
			// 调用注册方法
			userRegister(req, resp);
		} else if ("login".equals(oper)) {
			// 调用登录方法
			checkUserLogin(req, resp);
		} else if ("out".equals(oper)) {
			// 调用退出方法
			userOut(req, resp);
		} else if ("checkUserName".equals(oper)) {
			// 调用验证用用户名是否存在方法
			checkUserName(req, resp);
		} else {
			System.out.println("没有找到对应的操作符:" + oper);
		}
	}

	// 利用ajax请求验证用户名是否存在
	private void checkUserName(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		// 获取请求信息
		String username = req.getParameter("username");
		// 处理请求信息
		UserService us = new UserServiceImpl();
		boolean isExist = us.checkUserNameService(username);
		// 响应请求结果
		if (isExist) {
			resp.getWriter().write("{\"valid\":false}");
		} else {
			resp.getWriter().write("{\"valid\":true}");
		}
	}

	// 处理用户注册
	private void userRegister(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		// 获取请求信息
		String createDate = null;
		String username = req.getParameter("username");
		String password = req.getParameter("password");
		// 获取系统当前日期
		Date dateNow = new Date(System.currentTimeMillis());
		createDate = dateNow.toString();
		// 处理请求信息
		// 获取service层对象
		UserService us = new UserServiceImpl();
		int index = us.userRegisterService(createDate, username, password);
        System.out.println("地址改为这个:");
        System.out.println("地址改为这个:");
        System.out.println(req.getRealPath("/upload"));

        // 设置请求编码格式
        req.setCharacterEncoding("utf-8");
        // 设置响应编码格式
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");

        // 1、获取请求信息
        String createDate = null;
        String title = null;
        String info = null;
        String material = null;
        List<String> stepInfos = new LinkedList<>();
        List<String> categorys = new LinkedList<>();
        String coverFilePath = null;
        List<File> stepFiles = new LinkedList<>();
        List<String> stepFilesPath = new LinkedList<>();
        User user = null;

        // 获取系统当前日期
        Date dateNow = new Date(System.currentTimeMillis());
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        createDate = dateFormat.format(dateNow);
//		System.out.println(createDate);

        // 检查前台表单form是否有multipart
        if (ServletFileUpload.isMultipartContent(req)) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            // 通过parseRequest解析form中的所有请求字段,并保存到items集合中
            List<FileItem> items = null;
            try {
                items = upload.parseRequest(req);
            } catch (FileUploadException e1) {
                e1.printStackTrace();
            }
            // 遍历List中的数据
//			Iterator<FileItem> iter = items.iterator();
	}

	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 设置请求编码格式
		req.setCharacterEncoding("utf-8");
		// 设置响应编码格式
		resp.setContentType("text/html;charset=utf-8");
		// 获取操作符
		String oper = req.getParameter("oper");
		if ("register".equals(oper)) {
			// 调用注册方法
			userRegister(req, resp);
		} else if ("login".equals(oper)) {
			// 调用登录方法
			checkUserLogin(req, resp);
		} else if ("out".equals(oper)) {
			// 调用退出方法
			userOut(req, resp);
		} else if ("checkUserName".equals(oper)) {
			// 调用验证用用户名是否存在方法
			checkUserName(req, resp);
		} else {
			System.out.println("没有找到对应的操作符:" + oper);
		}
	}

	// 利用ajax请求验证用户名是否存在
	private void checkUserName(HttpServletRequest req, HttpServletResponse resp) throws IOException {
		// 获取请求信息
		String username = req.getParameter("username");
		// 处理请求信息
		UserService us = new UserServiceImpl();
		boolean isExist = us.checkUserNameService(username);
		// 响应请求结果
		if (isExist) {
			resp.getWriter().write("{\"valid\":false}");
		} else {
			resp.getWriter().write("{\"valid\":true}");
		}
	}

	// 处理用户注册
	private void userRegister(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");

        // 1、获取请求信息
        String createDate = null;
        String title = null;
        String info = null;
        String material = null;
        List<String> stepInfos = new LinkedList<>();
        List<String> categorys = new LinkedList<>();
        String coverFilePath = null;
        List<File> stepFiles = new LinkedList<>();
        List<String> stepFilesPath = new LinkedList<>();
        User user = null;

        // 获取系统当前日期
        Date dateNow = new Date(System.currentTimeMillis());
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        createDate = dateFormat.format(dateNow);
//		System.out.println(createDate);

        // 检查前台表单form是否有multipart
        if (ServletFileUpload.isMultipartContent(req)) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            // 通过parseRequest解析form中的所有请求字段,并保存到items集合中
            List<FileItem> items = null;
            try {
                items = upload.parseRequest(req);
            } catch (FileUploadException e1) {
                e1.printStackTrace();
            }
            // 遍历List中的数据
//			Iterator<FileItem> iter = items.iterator();
//			while (iter.hasNext()) {
//				FileItem item = iter.next();
            for (FileItem item : items) {
                String itemName = item.getFieldName();
                // 判断前台字段是普通form表单字段,还是文件字段
                if (item.isFormField()) {
                    // 普通上传
                    if (itemName.equals("recTitle")) {
                        title = item.getString("utf-8");
                    } else if (itemName.equals("recInfo")) {
                        info = item.getString("utf-8");
                    } else if (itemName.equals("recMaterial")) {
                        material = item.getString("utf-8");
                    } else if (itemName.equals("recCategory")) {
                        categorys.add(item.getString("utf-8"));
                    } else {
                        if (!"".equals(item.getString("utf-8"))) {
                            stepInfos.add(item.getString("utf-8"));
                        } else {
                            stepInfos.add("");
		int index = us.userRegisterService(createDate, username, password);
//		System.out.println(index);
		// 响应处理结果
		if (index > 0) {
			// 弹窗提示,点击后转跳
			PrintWriter out = resp.getWriter();
			// 重定向
//			resp.sendRedirect("/login.jsp");
		}
	}

	// 处理用户登录
	private void checkUserLogin(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
		// 1、获取请求信息
		String username = req.getParameter("username");
		String password = req.getParameter("password");
//		System.out.println(username + ":" + password);
		// 2、处理请求信息
		// 获取service层对象
		UserService us = new UserServiceImpl();
		// 校验
		User u = us.checkUserLoginService(username, password);
//		System.out.println(u);
		// 3、响应处理结果
		if (u != null) {
			// 获取session对象
//			System.out.println(u);
			HttpSession hs = req.getSession();
			// 将用户信息存储到session中
			hs.setAttribute("user", u);
			// 重定向,/表示服务器根目录,写绝对路径。相对路径的话servlet的别名中包含别目录,会造成重定向资源失败
			resp.sendRedirect("/index");
			return;
		} else {
			// 失败
			// 请求转发,/表示项目根目录。
			// 弹窗提示,点击后转跳
			PrintWriter out = resp.getWriter();
			// 请求转发
//			req.getRequestDispatcher("/login.jsp").forward(req, resp);
			return;

@WebServlet("/recipeCollection")
public class RecipeCollectionServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public RecipeCollectionServlet() {
		super();
	}
	
	// 处理菜谱收藏功能
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// 1、获取请求信息
		String status = req.getParameter("status");
		String RecipeId = req.getParameter("RecipeId");

		// 获取session对象
		HttpSession hs = req.getSession();
		// 把session中的值传到user对象中
		User user = (User) hs.getAttribute("user");

		RecipeService rs = new RecipeServiceImpl();
		// 2、判断status状态
		if (status.equals("false")) {
			// 3、处理请求结果;插入收藏菜谱
			int index = rs.insertCollectionRecipe(RecipeId, user);
			if(index>0) {
				resp.getWriter().write("{\"index\":" + index + "}");
			}
		} else {
			// 3、处理请求结果:删除收藏菜谱
		req.setAttribute("searchp", sp);
		// 转发
		req.getRequestDispatcher("/searchList.jsp").forward(req, resp);
	}

}

@WebServlet("/recipeCategory")
public class RecipeCategoryServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public RecipeCategoryServlet() {
		super();
	}

	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 1、接收请求信息
		String item = req.getParameter("item");
		String categoryName = req.getParameter("categoryName");
		// 菜谱动态分页请求
		String categoryCP = req.getParameter("categoryCurrentPage");
		if (categoryCP == null) {
			categoryCP = "1";
		}
		int categoryCp = Integer.parseInt(categoryCP);
		// 设置网页大小
		int pageSize = 8;
		
		// 2、处理请求信息
		PageService pages = new PageServiceImpl();

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

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javaweb是一种以Java为基础的web开发技术,它包括了servletjsp等相关技术。servletJavaEE规范中的一种组件,它主要用于处理用户发送的HTTP请求和返回HTTP响应。servlet可以接收前端页面传来的数据,然后对数据进行处理并返回给前端页面。mysql是一种关系型数据库管理系统,它能够存储大量的数据并提供有效的数据管理和查询功能。在javaweb开发中,我们可以通过servlet来连接mysql数据库,从而实现数据的持久化存储和操作。 jsp是一种基于Java的动态网页开发技术,它可以将Java代码嵌入到HTML页面中,从而实现动态页面的生成和展示。jsp可以使用Java代码来获取数据库中的数据并将其显示在前端页面上,实现了前后端的数据交互。 service是一种用于实现业务逻辑的组件或类,它负责处理具体的业务功能。在javaweb开发中,我们可以将业务逻辑封装在service中,然后在servlet中调用相应的service方法,实现对数据的处理和操作。 考试中无框架要求表示不可以使用现成的框架或库来完成开发任务,需要手动编写相关代码。在考试中,可以考察学生对javaweb技术的理解和应用能力,要求学生能够熟练地使用servletjsp等相关技术,并能够编写出符合需求的代码。此外,对于数据库操作,学生还需要了解mysql的基本操作和相关的jdbc编程技巧。 总而言之,javaweb servlet mysql jsp service的考试是考察学生对javaweb开发技术的掌握程度和应用能力的一种考试形式,学生需要熟练地使用这些技术,并能够灵活运用到实际的开发场景中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值