java知识点:
1.control层创建Serlvet对象,与WEB-INF下的web.xml关联。
2.sql使用PreparedStatement类执行,注意
String sql="insert into user_login_table (uname, loginTime) values(?,?)";PreparedStatement ps;try {ps = conn.prepareStatement(sql);ps.setString(1, uname);ps.setString(2, date);int i=ps.executeUpdate();if(i>0)return true;}catch (SQLException e) {e.printStackTrace();}return false;}
3.map&hashmap
之前没用过java的map,只用过python的字典(dictionary),用法相似。
4.java连接数据库(mysql)
public static Connection getConnection() {try {Class.forName("com.mysql.cj.jdbc.Driver");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {String mysqlUrl = "jdbc:mysql://127.0.0.1:3306/webdata?" + "user=root&password=wy19961227&serverTimezone=UTC";Connection conn=DriverManager.getConnection(mysqlUrl);return conn;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}
5.java使用JSON
java中需要引用org.json库。import org.json.JSONArray;import org.json.JSONObject;
具体代码如下:
public static JSONObject headerJsonObject = new JSONObject("{'status':'0','message':'','total':'180','code':'0'}");public static String UsersToString(ResultSet users) {JSONArray jsonArray = new JSONArray();int count = 0;try {while(users.next()) {JSONObject jsonObject = new JSONObject();jsonObject.put("uname", users.getString("uname"));jsonObject.put("upwd", users.getString("upwd"));jsonObject.put("status", users.getString("status"));jsonObject.put("role", users.getString("role"));jsonObject.put("errornum", users.getString("errornum"));jsonArray.put(jsonObject);count += 1;}headerJsonObject.put("data", jsonArray);headerJsonObject.put("count", count);return headerJsonObject.toString();} catch (SQLException e) {e.printStackTrace();}return jsonArray.toString();}
java部分总结:
主要是调用库以及IO部分,各种逻辑判断,读取写入占主要代码。
jsp知识点:
1.JSP本质就是web,封装好的HTML,访问url获取jsp页面本质就是将jsp页面在服务端内处理后再加载。
2.通过Session和Request获取对应的数据。
User tmp = new User();tmp.setUname(request.getParameter("uname").toString());session.getAttribute("uname")session.invalidate();
3.jsp页面中,java代码需要在 <% %>内写。
4.web.xml中配置selvert
<servlet><servlet-name>action</servlet-name><servlet-class>control.ActionServlet</servlet-class></servlet><servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>
5.selvert中返回json要用PrintWriter类
protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// this.doPost(request, response);String path = request.getRequestURI();if (path.endsWith("getUserJson.do")) {User user = preData(request);String json = user.getAllUserJsonString();PrintWriter pw = response.getWriter();pw.write(json);pw.close();}if (path.endsWith("getLoginTime.do")) {String json = new LoginTime().getData();PrintWriter pw = response.getWriter();pw.write(json);pw.close();}}
6.jsp母版页:<%@ include file="head-res-main.jsp" %>
在母版页引入js、css文件,其它jsp文件引入母版页文件即可。
jsp部分总结:
1.由于时间因素,没有学会bean,是个遗憾。
2.由于界面逻辑需求,初步尝试了前后端分离开发,用基于Jquery的ajax异步以及用json交互数据。
3.学了一点Layui框架。
js知识点:
1.js返回上一页 window.history.go(-1);
2.js前往指定页 window.location.href="main.jsp";
3.ajax使用:
$.ajax({url:"getLoginTime.do",type:"get",success:function(data){var json = eval("("+data+")");myChart.setOption({xAxis: {data: json.categories},series: [{name: '登录次数',type: 'bar',data: json.data}]});}});
4.js解析json:var json = eval("("+data+")");
5.js跳转页面时带参数,获取参数:
function getQueryVariable(variable){var query = window.location.search.substring(1);var vars = query.split("&");for (var i=0;i<vars.length;i++) {var pair = vars[i].split("=");if(pair[0] == variable){return pair[1];}}return(false);}window.location.href="updateUser.jsp?uname=" + getQueryVariable("uname");
js部分总结:
1.之前并不太会js,经过这次有了初步的入门。
2.初次使用ajax,感觉方便好用。
3.使用js等技术开发前端,与后端通过接口交互实现前后端分离开发起来确实很好。
