一个简单的Java EE程序 图书管理系统(二)

点击查看

一个简单的Java EE程序 图书管理系统(一)_雪糕关东煮方便面糖醋鱼的博客-优快云博客采用JSP+Servlet+JavaBean+JDBC方式开发一个Web登录程序https://blog.youkuaiyun.com/weixin_54014691/article/details/123383147

目录

三、创建Java EE项目

四、创建JDBC类

五、添加JDBC驱动包

六、编写JSP

七、编写Servlet

八、配置Servlet

九、构造JavaBean

十、实现DAO

十一、部署Java EE项目

十二、运行浏览


三、创建Java EE项目

新建一个项目

 

点击【next】

 

点击【Finish】按钮,MyEclipse会自动生成一个Java EE项目。

四、创建JDBC类

 在项目中新建一个包,右击项目中src文件夹,选择【New】-【Package】

在包org.db中新建一个Class

 编写DBConn.java,代码如下

package org.db;
import java.sql.*;

public class DBConn {
	public static Connection conn;//Connection对象连接;
	//获取数据库连接
	public static Connection getConn(){
		try{
			/**加载并注册SQL Server2014的JDBC驱动*/
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			/**编写连接字符串,创建并获取连接*/
			conn=DriverManager.getConnection("jdac:sqlserver://localhost:1433;"
					+ "databaseName=MBOOK","sa","123456");
			return conn;
		}
		catch(Exception e){
			e.printStackTrace();
			return null;
		}
		}
	public static void CloseConn(){
		try{
			conn.close();
		}
		catch(Exception e){
			e.printStackTrace();
		}
	}
}

注意:conn=DriverManager.getConnection("jdac:sqlserver://localhost:1433;databaseName=MBOOK","sa","123456");中的"123456"要换成自己数据库的密码!

五、添加JDBC驱动包

将sqljdbc4.jar添加到项目的"\\WebRoot\lib"目录下

 刷新一下就可以看到

六、编写JSP

本例需要写3个JSP文件:login.jsp(登录页)、main.jsp(欢迎主页)、error.jsp(出错处理页) 

在WebRoot项,右键【new】-【file】

 login.jsp代码如下

<%@page language="java" pageEncoding="gb2312"%>
<html>
<head>
<title>图书管理系统</title>
</head>
<body bgcolor="#71CABF">
	<form action="loginServlet" method="post">
		<!--action="loginServlet"表示在用户单击“登录”按钮后,-->
		<!--页面提交给一个名为loginServlet的Servlet作进一步处理-->
		<table>
			<caption>用户登录</caption>
			<tr>
				<td>登录名</td>
				<td><input name="name" type="text" size="20" /></td>
			</tr>
			<tr>
				<td>密码</td>
				<td><input name="password" type="password" size="21" /></td>
			</tr>
		</table>
		<input type="submit" value="登录" /> <input type="reset" value="重置" />
	</form>
</body>
</html>

main.jsp代码如下

<%@page language="java" pageEncoding="gb2312" import="org.model.Login"%>
<html>
<head>
<title>欢迎使用</title>
</head>
<body>
	<%
	Login login=(Login)session.getAttribute("login");
	String lgn=login.getName();
	%>
	<%=lgn %>,您好!欢迎使用图书管理系统。
</body>
</html>

这里import="org.model.Login"会报错,别着急,是因为我们还没有编写org.model包下的login.java

erro.jsp代码如下

<%@ page language="java" pageEncoding="gb2312"%>
<html>
  <head>
    <title>出错</title>
  </head>
  <body>
    登录失败!单击<a href="login.jsp">这里</a>返回
  </body>
</html>

七、编写Servlet

在src下新建一个包org.servlet

 在此包下创建一个类LoginServlet

 LoginServelt.java代码如下

package org.servlet;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.dao.*;
import org.model.*;

public class LoginServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("gb2312");// 设置请求编码
		// 该类位项目与数据的接口(DAO接口),用于处理数据与数据库表的一些操作
		LoginDao loginDao = new LoginDao();
		Login l = loginDao.checkLogin(request.getParameter("name"), request.getParameter("password"));
		if (l != null) {// 如果登录成功
			HttpSession session = request.getSession();// 获得会话,用来保存当前登录用户的信息
			session.setAttribute("login", l);// 把获得的对象保存在Session中
			response.sendRedirect("main.jsp");//验证成功跳转到欢迎主页main.jsp
		}
		else{
			response.sendRedirect("error.jsp");
		}
		}
		public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
			doGet(request,response);
		}
	}

八、配置Servlet

打开WebRoot文件夹下WEB-INF中的web.xml

 点击左下方的Source按钮即可查看修改代码

web.xml内容如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<servlet>
	<servlet-name>loginServlet</servlet-name>
	<servlet-class>org.servlet.LoginServlet</servlet-class>
	</servlet>
	<servlet-mapping>
	<servlet-name>loginServlet</servlet-name>
	<url-pattern>/loginServlet</url-pattern>
	</servlet-mapping>
	<display-name>bookManage</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>

九、构造JavaBean

在src下建立包org.model,其中创建名为Login的Java类,代码如下

package org.model;

public class Login {
	// 属性
	private Integer id;
	private String name;
	private String password;
	private boolean role;

	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public boolean isRole() {
		return this.role;
	}

	public void setRole(boolean role) {
		this.role = role;
	}

}

十、实现DAO

在src下建立org.dao包,在包中创建LoginDao类,代码如下

package org.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import org.db.DBConn;
import org.model.Login;

public class LoginDao {
	Connection conn;//数据库连接对象

	public Login checkLogin(String name, String password) {
		try {
			conn = DBConn.getConn();//获取连接对象
			PreparedStatement pstmt = conn.prepareStatement("select * from[login] where name=?" + "and password=?");
			pstmt.setString(1, name);//设置sql语句参数1
			pstmt.setString(2, password);//设置sql语句参数2
			ResultSet rs = pstmt.executeQuery();//执行查询,返回结果集
			if (rs.next()) {
				Login login = new Login();//通过JavaBean对象保存值
				login.setId(rs.getInt(1));
				login.setName(rs.getString(2));
				login.setPassword(rs.getString(3));
				login.setRole(rs.getBoolean(4));
				return login;
			}
			return null;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		} finally {
			DBConn.CloseConn();// 关闭连接
		}
	}

}

十一、部署Java EE项目

单击工具栏上的【Manage Deployments..】

 

点击【add】

 

 以上界面位配置成功

十二、运行浏览

先看一下端口号是8080还是8081(一般是8080,部分用户自己修改过的可能是8081)

 

笔者是改过的所以使用的端口号为8081 

在浏览器输入http://localhost:8081/bookManage即可访问页面

一个小插曲

笔者在此处遇到了一个小问题

直接访问项目出现404

但直接访问jsp页面则正常显示

 

 

此问题待解决 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值