`

java网站后台实现--ServLet

阅读更多

一、环境的准备:

下载jee的eclipse。tomcat。

在系统的环境变量里面添加JAVA_HOME,路径为java安装的路径,例如:C:\Program Files\Java\jdk1.8.0_05

 

之后可以运行西夏tomcat下的startup.bat。看看能不能启动成功。如果不能启动成功(tomcat6.0的32位可能遇到,现在可以下载tomcat8.0和最新的eclipse luna,不会遇到此问题)。

用记事本手动修改tomcat的两个文件:

bin\catalina.bat   ctrl+F查找  echo Using JAVA_HOME:    在这个的后面改为你的java安装路径。

bin\startup.bat  ctrl+F查找  set JAVA_HOME:    在这个的后面改为你的java安装路径。

 

 

二、启动成功之后,在eclipse新建一个动态网站工程:Dynamic Web Project

选择好tomcat的版本。

其中Java Resources是写java代码的

WebContent是写网页的

在WebContent下创建了一个index.html,这里面写好登录界面:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
	<form action="AAA" method="post">
		号码: <input type="text" name="userName" /><br /> 密码:<input
			type="password" name="userPwd" /> <input type="submit" value="登录" />
	</form>
</body>
</html>

 

在Java Resources中写了一个LoginSuccess的类,用来判断是否登录成功。

这个类继承HttpServlet,并重写了doPost方法,在这里获得了网页中填入的帐号密码,并连接数据库进行判断。如果登录成功,就返回登录成功的信息,如果登录失败,就返回登录失败的信息。

 

/**
	 * 重写doPost方法
	 * req 请求对象,将请求的数据封装成的对象
	 * resp 响应对象,将要返回给浏览器的数据封装的对象
	 */
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		resp.setCharacterEncoding("UTF-8");
		String userName = req.getParameter("userName");
		String userPswd = req.getParameter("userPwd");
		System.out.println(userName + " " + userPswd);

		PrintWriter printWrite = resp.getWriter();
		String result = "<html><head><meta charset=\"UTF-8\"></head><body>";
		OracleOprate.getConnection();
		if (OracleOprate.checkPwd(Long.parseLong(userName), userPswd)) {
			result += "<h2>Login successful!\n</h2>";
		} else {
			result += "登录失败,请<a href = \"index.html\">重新登录</a>或者<a  href = \"regist.html\">注册</a>\n";
		}
		result += "</body>";
		printWrite.write(result);
		printWrite.flush();
		printWrite.close();
	};

之后,在web.xml中加入一段声明:

<servlet>
		<servlet-name>AAA</servlet-name>
		<servlet-class>com.hb.v141114.LoginSuccess</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>AAA</servlet-name>
		<url-pattern>/AAA</url-pattern>
	</servlet-mapping>

  

 

数据库操作类OracleOprate,检查帐号密码是否正确。

public static Connection getConnection() {
		if (conn != null) {
			return conn;
		}
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection(
					"jdbc:oracle:thin:@127.0.0.1:1521:ORCL", "chat", "chat");
			return conn;
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}

	/**
	 * 检查密码
	 * 
	 * @param num
	 *            帐号
	 * @param userPwd
	 *            密码
	 * @return 是否正确
	 */
	public static boolean checkPwd(long num, String userPwd) {
		// 通过用户名查询数据库,得到密码进行比较
		try {
			Statement stm = conn.createStatement();
			String sql = "select userpswd from userlist1 where usernum = "
					+ num;
			ResultSet rs = stm.executeQuery(sql);
			while (rs.next()) {
				String pswd = rs.getString(1);
				if (userPwd.equals(pswd)) {
					stm.close();
					return true;
				}
			}
			stm.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}

 

程序目录结构如下:

 

 

写好之后,启动tomcat



 

右键 start。

然后就可以在浏览器中访问了。





 



 


 
 

  • 大小: 115.6 KB
  • 大小: 32.4 KB
  • 大小: 61.3 KB
  • 大小: 80.1 KB
  • 大小: 117.5 KB
1
1
分享到:
评论
1 楼 dieslrae 2014-11-16  
简直不能直视啊

相关推荐

Global site tag (gtag.js) - Google Analytics