Java项目精美风在线音乐网站(java+JDBC+C3P0+servlet+mysql+JSP)

源码获取:博客首页 “资源” 里下载!

1.运行环境

环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP + C3P0+ Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload等等

用户管理控制层:

@Controller
@RequestMapping("/user")
public class UserController {

	@Autowired
	protected WebResponse webResponse;

	@Resource
	protected IUserService userService;

	@Resource
	protected IMyMusicService MyMusicService;

	@Autowired
	UserService userService2;

	String newName = null;

	// 登录功能
	@RequestMapping(value = "/loginPage", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse loginCon(HttpServletRequest request, HttpSession session) {

		// 取参数的方法,对应登录表单中的用户名name="user_name"
		String user_name = request.getParameter("user_name");
		String user_password = request.getParameter("user_password");

		// 调用mapper层的登录的方法,从数据库中匹配用户名和密码,并放回用户名
		String tname = userService2.login(user_name, user_password);

		String user_Id = userService2.getUserById(user_name, user_password);
		// newUserId = user_Id; //修改密码用的
		int userId = 0;
		try {
			// 判断字符串是否是数字,并且抛出异常
			// boolean NotisNum
			// =(user_Id.equals(null)||user_Id.equals("")||user_Id.equals("null"));
			boolean NotisNum = (user_Id.equals("null"));
			// System.out.println(NotisNum);
			if (!NotisNum) {
				userId = Integer.parseInt(user_Id);
			}
		} catch (Exception e) {

		}
//	   
		session.setAttribute("tname", tname);
		session.setAttribute("userId", userId);
		Object data = null;
		String statusMsg = "";
		Integer statusCode = 200;
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put("user_name", user_name);
		paramMap.put("user_password", user_password);
		data = paramMap;

		User user = new User();
		user.setUser_id(userId);
		System.out.println("登录的id:" + user.getUser_id());
		System.out.println("登录的用户名:" + session.getAttribute(tname));
		System.out.println("前端,用户名:" + user_name + " 密码:" + user_password);
		System.out.println("根据前端在数据库中查找到的用户名:" + tname + " 用户的id:" + userId);

		// 用户名和密码匹配不成功,则返回的用户名为空
		if (tname == null) {
			System.out.println("用户不存在");
			System.out.println();
			statusMsg = "用户或密码错误!";
			statusCode = 201;
			return webResponse.getWebResponse(statusCode, statusMsg, data);
		} else {
			statusCode = 200;
			webResponse.setStatusCode(statusCode);
			System.out.println("状态码:" + webResponse.getStatusCode());
			System.out.println("登录成功了");
			System.out.println();
			return webResponse.getWebResponseUserId(statusCode, statusMsg, data, userId);
		}
	}

	// 更改密码 更改密码 更改密码
	@RequestMapping(value = "/resetUserPassword", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse resetUserPassword(HttpServletRequest request, HttpSession session) {

		Object data = null;
		String statusMsg = "";
		Integer statusCode = 200;
		int uId = 0;

		// 取参数的方法,对应登录表单中的用户名
		String user_name = request.getParameter("user_name");
		String newUser_password = request.getParameter("newUser_password");
		try {
			uId = (int) this.userService2.resetPassword(user_name, newUser_password);
			System.out.println("修改密码返回的id:" + uId);
		} catch (Exception e) {

		}

		return webResponse.getWebResponse(statusCode, statusMsg, data);

	}

	// 用户注册
	@RequestMapping(value = "/addOrEditUser", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse addOrEditTest(HttpServletRequest request, HttpServletResponse response, HttpSession session,
			String user_id, @RequestParam(required = false) String user_name,
			@RequestParam(required = false) String user_password) {

		Object data = null;
		String statusMsg = "用户名已存在,请重新注册!";
		Integer statusCode = 201;
		String rearchName = null;
		try {
			rearchName = this.userService.rearchUserName(user_name);

			if (!(rearchName.equals("null"))) {
				return webResponse.getWebResponse(statusCode, statusMsg, data);
			}
		} catch (Exception e) {

		}
		System.out.println("判断用户是否重复:" + rearchName);

		if (user_id == null || user_id.length() == 0) {
			return this.addUser(request, response, session, user_name, user_password);
		} else {
			return this.editUser(request, response, session, user_id, user_name, user_password);
		}
	}

	// 添加用户
	@RequestMapping(value = "/addUser", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	@ResponseBody
	public WebResponse addUser(HttpServletRequest request, HttpServletResponse response, HttpSession session,
			String user_name, String user_password) {
		Object data = null;
		String statusMsg = "";
		Integer statusCode = 200;
		Map<String, String> paramMap = new HashMap<String, String>();
		paramMap.put("user_name", user_name);
		paramMap.put("user_password", user_password);
		data = paramMap;
		if (user_name == null || "".equals(user_name.trim()) || user_password == null
				|| "
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JSPJava Server Pages)、ServletC3P0连接池以及MySQL数据库可以一起使用来实现一个简单的新闻系统。 JSP是一种动态网页开发技术,可以在网页上直接嵌入Java代码。通过使用JSP,我们可以将网页与后端代码相结合,以实现新闻系统的前端展示。 Servlet是一个Java类,可以处理HTTP请求和生成HTTP响应。在新闻系统中,我们可以创建一个Servlet用于接收用户的请求,例如浏览新闻、发布新闻等,然后调用后端的业务逻辑进行处理。 C3P0是一个Java数据库连接池,用于管理和优化数据库连接的创建和销毁。在新闻系统中,我们可以配置C3P0连接池来提高性能和可伸缩性,减少数据库连接的开销。 MySQL是一个流行的关系型数据库,可以用于存储和管理新闻数据。我们可以创建一个MySQL数据库,并设计相应的表来保存新闻标题、内容、作者、发布时间等信息。 在实现简单的新闻系统时,可以使用JSP来创建前端页面,利用Servlet进行后端业务逻辑处理。通过C3P0连接池,我们可以在Servlet中创建数据库连接,并使用Java代码操作MySQL数据库,例如查询、插入、更新和删除新闻数据。 整个过程可以按照如下步骤进行:用户发送请求到ServletServlet从数据库中获取新闻数据,再将数据传递给JSP页面进行渲染,然后将渲染后的页面发送给用户。用户可以通过提交表单或者其他方式触发Servlet中的相应操作,从而实现新闻系统的各种功能,例如发表新闻、删除新闻等操作。 通过结合JSPServletC3P0连接池和MySQL数据库,我们可以轻松地搭建一个简单的新闻系统,实现新闻的发布、浏览等基本功能。当然,想要实现更复杂的新闻系统,还需要考虑用户认证、权限管理、搜索功能等方面的设计和实现。 ### 回答2: 简单新闻系统使用JSPServletc3p0MySQL实现。 JSPJava Server Pages的缩写,是一种动态网页开发技术,能够与Java Servlet一起生成HTML、XML或其他文档。Servlet是运行在服务器端的Java小程序,能够接收和响应客户端的请求。c3p0Java数据库连接池库,提供高性能、高可靠性的数据库连接管理。MySQL是一个开源的关系型数据库管理系统。 我们可以通过使用JSPServlet来实现简单新闻系统的前端和后端功能。前端页面使用JSP编写,用于展示新闻列表、新闻详情等信息。后端使用Servlet来接收前端的请求,并根据请求的不同执行相应的逻辑操作。 在实现新闻系统时,我们可以使用c3p0作为连接池来管理与数据库的连接。通过配置连接池的参数,如最大连接数、最小连接数、连接超时时间等,可以有效地管理数据库连接。使用c3p0能够提高数据库操作性能和可靠性,避免频繁地进行数据库连接的创建和关闭。 与数据库的交互使用MySQL来实现。可以使用MySQL提供的接口或者使用JDBC驱动来连接数据库,并执行相关的查询和更新操作。通过JSPServlet与数据库进行数据的交互,可以实现新闻的增删改查、新闻分类和搜索等功能。 总之,通过使用JSPServletc3p0MySQL,我们可以实现一个简单的新闻系统。JSP负责前端页面的展示,Servlet负责后端逻辑的处理,c3p0负责管理数据库连接,MySQL负责存储和查询新闻数据。这些技术的结合可以实现一个高效、可靠的新闻系统。 ### 回答3: JSPServletJava EE中用于开发Web应用程序的重要技术。C3P0是一个流行的连接池库,用于管理数据库连接。MySQL是一个广泛使用的关系型数据库。 基于JSPServlet,结合C3P0连接池和MySQL数据库,我们可以构建一个简单的新闻系统。以下是实现的步骤: 1. 创建数据库表格:在MySQL数据库中创建一个用于存储新闻的表格,包含标题、内容、作者和发布日期等字段。 2. 配置C3P0连接池:在项目中引入C3P0库,并在web.xml或其他配置文件中配置C3P0的连接信息,如数据库URL、用户名和密码。应该设置合适的参数来管理数据库连接的数量和复用。 3. 创建新闻管理类:编写一个Java类来处理新闻的增、删、改和查操作,该类应该使用C3P0连接池来获取数据库连接并执行SQL语句。可以使用PreparedStatement来防止SQL注入攻击,并通过ResultSet获取执行结果。 4. 创建JSP页面:使用JSP技术编写展示新闻列表、查看新闻详情和发布新闻等页面。可以通过调用新闻管理类的方法来获取新闻数据,并在页面中展示。 5. 配置Servlet:在web.xml或其他配置文件中配置Servlet的映射关系,将请求路径与对应的Servlet类绑定。例如,为展示新闻列表和查看新闻详情分别配置不同的Servlet。 6. 在Servlet中处理请求:编写Servlet类,根据请求参数调用新闻管理类的相应方法,并将处理结果传递给对应的JSP页面进行展示。可以通过request对象获取参数值,通过response对象返回处理结果。 通过以上步骤,我们可以实现一个简单的新闻系统。用户可以通过浏览器向服务器发送请求,服务器接受请求后,使用JSPServlet技术调用C3P0连接池从数据库中获取新闻数据,并将结果返回给用户进行展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值