首页 > 编程语言 > 详细

java网站后台实现--ServLet

时间:2014-11-17 02:04:37      阅读:264      评论:0      收藏:0      [点我收藏+]

一、环境的准备:

下载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;
	}

?

程序目录结构如下:
bubuko.com,布布扣
?

?

写好之后,启动tomcat


bubuko.com,布布扣
?

右键 start。

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



bubuko.com,布布扣


bubuko.com,布布扣
?


bubuko.com,布布扣
?


?
?

java网站后台实现--ServLet

原文:http://479001499.iteye.com/blog/2156639

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!