OpenLayers學習筆記7——使用javaBean實現使用者登入,openlayersjavabean
之前的開發是採用phpStorm,前端:html+css+javascript+jquery,伺服器端:php;但是這個前後台互動要通過ajax來實現資料互動,中間遇到了跨域的問題,卡了兩天雖然解決了但是後面部署的話會比較麻煩。正好最近老闆讓我接手之前另一個項目開發的軟體,是用jsp寫的,一開始我是拒絕的,後來借了一本jsp的書,用一天的時間快速讀了下,覺得這個開發部署要方便很多,於是就把之前的代碼全部改成了jsp的。開發環境網上搜一搜都有的,我採用的是myEclipse+Tomcat;廢話不多說,這裡就記錄下使用JavaBean實現使用者登入。
UserBean代碼:
/** * */package edu.whu.vge.util;public class UserBean {private String username;private String password;private boolean logined = false;/** * @return the username */public String getUsername() {return username;}/** * @param username * the username to set */public void setUsername(String username) {this.username = username;}/** * @return the password */public String getPassword() {return password;}/** * @param password * the password to set */public void setPassword(String password) {this.password = password;}/** * @return the logined */public boolean isLogined() {return logined;}/** * @param logined * the logined to set */public void setLogined(boolean logined) {this.logined = logined;}}DBBean代碼:
/** * */package edu.whu.vge.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.PreparedStatement;public class DBBean {private Connection connection;private PreparedStatement pstat;private ResultSet reSet;public DBBean() {// TODO Auto-generated constructor stub}// 擷取資料庫連接public Connection getConnection() throws ClassNotFoundException {try {Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/userinfo?user=root&password=root";connection = DriverManager.getConnection(url);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return connection;}// 執行資料庫查詢並返回表public ResultSet query(String sql) throws SQLException,ClassNotFoundException {connection = getConnection();pstat = connection.prepareStatement(sql);reSet = pstat.executeQuery();return reSet;}// 關閉資料庫連接public void close() throws SQLException {if (reSet != null) {reSet.close();}if (pstat != null) {pstat.close();}if (connection != null) {connection.close();}}}
chkUser.jsp
<%@ page language="java" import="java.util.*"contentType="text/html; charset=gb2312" pageEncoding="gb2312"%><%@ page import="java.sql.*"%><%@ page import="edu.whu.vge.util.DBBean"%><%@ page import="edu.whu.vge.util.UserBean"%><%--使用javaBean串連資料庫實現使用者登入 --%><jsp:useBean id="user" scope="session" class="edu.whu.vge.util.UserBean"></jsp:useBean><jsp:useBean id="mysqlDB" class="edu.whu.vge.util.DBBean"></jsp:useBean><jsp:setProperty property="*" name="user" /><%String username = new String(user.getUsername().getBytes("ISO-8859-1"), "GB2312");String password = user.getPassword();String sql = "select * from users where name='" + username+ "' and password='" + password + "'";ResultSet resultSet = mysqlDB.query(sql);if (resultSet.next()) {%><script type="text/javascript">window.location.href = "index.jsp";</script><%} else {%><<script type="text/javascript">alert("使用者名稱或密碼錯誤,請核實!!!");window.location.href = "login.jsp";</script><%}%>這裡的登入驗證是與mysql中儲存的使用者資訊,驗證成功的話則採用javascript跳轉的主介面,否則提示停留在登入介面。jsp的跳轉方式參見部落格:JSP頁面跳轉的幾種實現方法 。這裡還有一個需要注意的問題就是,當使用者名稱為中文時,會出現亂碼導致驗證不成功,需要進行轉碼:
String username = new String(user.getUsername().getBytes("ISO-8859-1"), "GB2312");
login.jsp代碼:
<body><div class="login_bj"><div class="login_mian"><form id="form1" name="form1" action="chkUser.jsp" method="post"><table cellpadding="0" cellspacing="0" border="0"class="login_table"><tr><th>使用者名稱</th><td><input type="text" class="login_int" id="username"name="username" value="" /></td></tr><tr><th>密碼</th><td><input type="password" class="login_int" id="password"name="password" value="" /></td></tr><tr><th></th><td><input type="button" class="btn_login"onclick="doSubmit();" /></td></tr></table></form><div class="footer" align="left"><span>Copyright @ 2015 武漢大學</span></div></div></div><div id="dialog-username"><p class="alert-message">請輸入使用者名稱!</p></div><div id="dialog-password"><p class="alert-message">請輸入密碼!</p></div></body>
mysql資料庫:
登入介面:
成功登入後介面:
初學jsp很多方面都還不懂,以練帶學是很有效方法,實現了簡單的使用者登入之後,下一步就是從資料庫查詢poi進行標註顯示了,先設計一個好的使用者互動方式,在使用JavaBean封裝商務邏輯