一、相关的软件下载和环境配置

1、下载并配置JDK。

2、下载eclipse。

3、下载并配置apache-tomcat(服务器)。

4、下载MySQL(数据库)。

5、下载Navicat for MySQL(数据库可视化工具),方便对数据库的操作。

6、下载jdbc用来实现eclipse中的项目与数据库实现连接。

---以上可在网上查询教程

二、新建web项目

1.

然后点击next,

继续点next

勾选Generate web.xml

然后finish

2.新建两个包

然后User就是我们封装的数据

package com.better.bean;

public class User {
private int userid;
private String username;
private String password;
public User() { }
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
} }

建立类文件时一样

而servlet建立时不一样,如下

然后servlet代码如下

addservlet.java

package com.better.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class addservlet
*/
@WebServlet("/addservlet")
public class addservlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public addservlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String username = request.getParameter("username");
String psword = request.getParameter("password");
String url = "jdbc:mysql://localhost:3306/demodb?&useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "9527";
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
response.getWriter().print("加载驱动失败");
} catch (SQLException e) {
response.getWriter().print("连接数据库失败");
}
try {
String sql = "INSERT INTO user(username,password) VALUES (?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1, username);
ps.setString(2, psword);
int row = ps.executeUpdate();
// 判断是否更新成功
if (row > 0)
// 更新成输出信息
response.getWriter().print("成功添加了 " + row + "条数据!");
} catch (SQLException e) {
response.getWriter().print("注册用户信息失败");
}
try {
if (ps != null) {
ps.close();
ps = null;
}
if (conn != null) {
conn.close();
conn = null;
} } catch (Exception e) {
response.getWriter().print("数据库关闭异常");
}
response.sendRedirect("main.jsp");
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

然后你要配置web.xml文件

点开它

<servlet>
<description></description>
<display-name>addservlet</display-name>
<servlet-name>addservlet</servlet-name>
<servlet-class>com.better.servlet.addservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>addservlet</servlet-name>
<url-pattern>/com.better.servlet/addservlet</url-pattern>
</servlet-mapping>

把这段代码插进去

然后就可以使用这个servlet了

接着是deleteservlet.java、searchservlet.java、updateservlet.java、checkservlet.java

package com.better.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class updateservlet
*/
@WebServlet("/updateservlet")
public class updateservlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public updateservlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String username = request.getParameter("username");
String psword = request.getParameter("password");
String url = "jdbc:mysql://localhost:3306/demodb?&useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "9527";
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
response.getWriter().print("加载驱动失败");
} catch (SQLException e) {
response.getWriter().print("连接数据库失败");
}
try {
String sql = "UPDATE user SET password=? WHERE username = ? ";
ps=conn.prepareStatement(sql);
ps.setString(1, psword);
ps.setString(2, username);
int row = ps.executeUpdate();
// 判断是否更新成功
if (row > 0)
// 更新成输出信息
response.getWriter().print("成功修改了 " + row + "条数据!");
} catch (SQLException e) {
response.getWriter().print("修改密码失败");
}
try {
if (ps != null) {
ps.close();
ps = null;
}
if (conn != null) {
conn.close();
conn = null;
} } catch (Exception e) {
response.getWriter().print("数据库关闭异常");
}
response.sendRedirect("main.jsp");
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
package com.better.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class checkservlet
*/
@WebServlet("/checkservlet")
public class checkservlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public checkservlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String adminname = request.getParameter("adminname");
String adminword = request.getParameter("adminword");
String url = "jdbc:mysql://localhost:3306/demodb?&useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "9527";
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs=null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
response.getWriter().print("加载驱动失败");
} catch (SQLException e) {
response.getWriter().print("连接数据库失败");
}
try{
String sql="SELECT * FROM admin WHERE adminname = ? and adminword=? ";
ps=conn.prepareStatement(sql);
ps.setString(1, adminname);
ps.setString(2, adminword);
rs=ps.executeQuery(); //将sql语句传至数据库,返回的值为一个字符集用一个变量接收
if(rs.next()){ //next()获取里面的内容
request.getRequestDispatcher("main.jsp")
.forward(request, response);
}
else request.getRequestDispatcher("login.jsp")
.forward(request, response);
}catch(SQLException e){
response.getWriter().print("数据库操作异常");
}
try{
if(rs!=null){
rs.close();
rs=null;
}
if(ps!=null){
ps.close();
ps=null;
}
if(conn!=null){
conn.close();
conn=null;
} }catch(Exception e){
response.getWriter().println("数据库关闭异常"); }
response.getWriter().append("Served at: ").append(request.getContextPath());
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
package com.better.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class deleteservlet
*/
@WebServlet("/deleteservlet")
public class deleteservlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public deleteservlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String username = request.getParameter("username");
String url = "jdbc:mysql://localhost:3306/demodb?&useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "9527";
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
response.getWriter().print("加载驱动失败");
} catch (SQLException e) {
response.getWriter().print("连接数据库失败");
}
try {
String sql = "DELETE FROM user WHERE username=?";
ps=conn.prepareStatement(sql);
ps.setString(1, username);
int row = ps.executeUpdate();
// 判断是否更新成功
if (row > 0)
// 更新成输出信息
response.getWriter().print("成功删除了 " + row + "条数据!");
} catch (SQLException e) {
response.getWriter().print("删除用户失败");
}
try {
if (ps != null) {
ps.close();
ps = null;
}
if (conn != null) {
conn.close();
conn = null;
} } catch (Exception e) {
response.getWriter().print("数据库关闭异常");
}
//重定向到main页面
response.sendRedirect("main.jsp");
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
package com.better.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class searchservlet
*/
@WebServlet("/searchservlet")
public class searchservlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public searchservlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String username = request.getParameter("username");
String url = "jdbc:mysql://localhost:3306/demodb?&useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "9527";
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs=null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
response.getWriter().print("加载驱动失败");
} catch (SQLException e) {
response.getWriter().print("连接数据库失败");
}
try{
String sql="SELECT * FROM user WHERE username = ? ";
ps=conn.prepareStatement(sql);
ps.setString(1, username);
rs=ps.executeQuery(); //将sql语句传至数据库,返回的值为一个字符集用一个变量接收
while(rs.next()){ //next()获取里面的内容
response.getWriter().println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3));
//getString(n)获取第n列的内容
//数据库中的列数是从1开始的
}
}catch(SQLException e){ response.getWriter().print("查询用户失败");
}
try{
if(rs!=null){
rs.close();
rs=null;
}
if(ps!=null){
ps.close();
ps=null;
}
if(conn!=null){
conn.close();
conn=null;
} }catch(Exception e){
response.getWriter().println("数据库关闭异常"); } } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

然后是完整的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_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>Better</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>
<servlet>
<description></description>
<display-name>addservlet</display-name>
<servlet-name>addservlet</servlet-name>
<servlet-class>com.better.servlet.addservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>addservlet</servlet-name>
<url-pattern>/com.better.servlet/addservlet</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>updateservlet</display-name>
<servlet-name>updateservlet</servlet-name>
<servlet-class>com.better.servlet.updateservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>updateservlet</servlet-name>
<url-pattern>/com.better.servlet/updateservlet</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>deleteservlet</display-name>
<servlet-name>deleteservlet</servlet-name>
<servlet-class>com.better.servlet.deleteservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>deleteservlet</servlet-name>
<url-pattern>/com.better.servlet/deleteservlet</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>searchservlet</display-name>
<servlet-name>searchservlet</servlet-name>
<servlet-class>com.better.servlet.searchservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>searchservlet</servlet-name>
<url-pattern>/com.better.servlet/searchservlet</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>checkservlet</display-name>
<servlet-name>checkservlet</servlet-name>
<servlet-class>com.better.servlet.checkservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>checkservlet</servlet-name>
<url-pattern>/com.better.servlet/checkservlet</url-pattern>
</servlet-mapping>
</web-app>

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body
background="file:///D:/eclipse-workplace/Better/WebContent/image/星空.jpg">
<form action="checkservlet" method=post>
<center>
<table>
<tr>
<td><font color="white">输入管理员名:</font></td>
<td><INPUT type=txt name=adminname></td>
</tr>
<tr>
<td><font color="white">输入管理员密码:</font></td>
<td><INPUT type=password name=adminword></td>
</tr>
<tr colspan=2>
<td><INPUT type=submit value=登录></td>
</tr>
</table>
</center>
</form>
</body>
</html>

main.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>主界面</title>
</head>
<body>
<center><h1>主菜单</h1><center>
<table><center>
<h2 align="center">
<a href="Add.jsp">添加用户</a>
</h2>
<h2 align="center">
<a href="Delete.jsp">删除用户</a>
</h2>
<h2 align="center">
<a href="Update.jsp">修改用户</a>
</h2>
<h2 align="center">
<a href="Search.jsp">查询用户</a>
</h2>
</table></center>
</body>
</html>

Add.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加</title>
</head>
<script type="text/javascript">
function check(form) {
if(form.username.value=='') {
alert("请输入用户名!");
form.username.focus();
return false;
}
if(form.password.value==''){
alert("请输入登录密码!");
form.password.focus();
return false;
}
return true;
}
</script>
<body>
<form action="addservlet" method="post">
用户名: <input type=text name="username" size="18" value="" ><br>
登录密码:<input type="password" name="password" size="18" value=""/>
<input type=submit name="submit1" value="注册" onclick="return check(this.form)">
</form>
</body>
</html>

Delete.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>删除</title>
</head>
<script type="text/javascript">
function check(form) {
if(form.username.value=='') {
alert("请输入用户名!");
form.username.focus();
return false;
} }
</script>
<body>
<form action="deleteservlet" method="post">
想删除的用户名: <input type=text name="username" size="18" value="" ><br>
<input type=submit name="submit1" value="删除" onclick="return check(this.form)">
</form>
</body>
</html>

Update.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改</title>
</head>
<script type="text/javascript">
function check(form) {
if(form.username.value=='') {
alert("请输入用户名!");
form.username.focus();
return false;
}
if(form.password.value==''){
alert("请输入新密码!");
form.password.focus();
return false;
}
return true;
}
</script>
<body>
<form action="updateservlet" method="post">
用户名: <input type=text name="username" size="18" value="" ><br>
新密码:<input type="password" name="password" size="18" value=""/>
<input type=submit name="submit1" value="修改" onclick="return check(this.form)">
</form>
</body>
</html>

Search.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>查找</title>
</head>
<script type="text/javascript">
function check(form) {
if(form.username.value=='') {
alert("请输入用户名!");
form.username.focus();
return false;
} }
</script>
<body>
<form action="searchservlet" method="post">
想查找的用户名: <input type=text name="username" size="18" value="" ><br>
<input type=submit name="submit1" value="查找" onclick="return check(this.form)">
</form>
</body>
</html>

再就是建一个数据库两张表

User这张表

再就是管理员这张表

admin

如何开发简单的javaweb项目,jsp+javabean+servlet的更多相关文章

  1. 开发简单的JavaWeb项目

    一.配置相关环境 下载配置JDK,eclipse,Tomcat服务器,Mysql数据库,Navicat for MySQL(数据库可视化工具) 如果你已经做好各个环境的配置,eclipse与Tomca ...

  2. Struts与jsp+javabean+servlet区别

    采用Struts框架技术和直接使用jsp+javabean技术开发各有什么优势?各自的缺点又是什么? 在Javaweb开发领域存在2种开发模式, 模式一,jsp+javabean 模式二,jsp+ja ...

  3. JSP+JavaBean+Servlet技术(MVC模型)

    一,Servlet开发用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这种 ...

  4. JSP+JavaBean+Servlet工作原理实例…

    JSP+JavaBean+Servlet工作原理实例讲解 首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念.引用mz3226960提出的MVC的概念,即M-model ...

  5. MyEclipse配置Tomcat开发JavaWeb程序JSP以及Servlet

    1.安装准备 1).下载安装MyEclipse2014,这已经是最新版本. 2).下载Tomcat 官网:http://tomcat.apache.org/ 我们选择8.0: http://tomca ...

  6. JavaEE学习总结(十三)—JavaWeb、JSP、Servlet与DVD管理系统

    一.JSP基础知识 1.0.创建数据库与表 /* Navicat MySQL Data Transfer Source Server : 127.0.0.1 Source Server Version ...

  7. 如何在java代码中调用一个web项目jsp或者servlet

    有时候需要调用一个web项目的jsp或者servlet,但是执行内部的代码,并不是打开jsp,例如需要在一段java代码中清除一个web项目中的缓存,那么可以把清除缓存的代码放在该web项目的一个se ...

  8. MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet(转载)

    转载地址:http://blog.csdn.net/21aspnet/article/details/21867241 1.安装准备 1).下载安装MyEclipse2014,这已经是最新版本. 2) ...

  9. (转)MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet

    1.安装准备 1).下载安装MyEclipse2014,这已经是最新版本. 2).下载Tomcat 官网:http://tomcat.apache.org/ 我们选择8.0: http://tomca ...

随机推荐

  1. LeetCode题解 Permutations II 和 Permutations I ——回溯算法

    这个算法感觉还是很陌生的.算法导论里没有讲这个算法,而数据结构与算法分析只用了一节来阐述.我居然跳过去了..尴尬. 笨方法解决的: 第一题: 给定一个元素不重复的数组,枚举出他们的全排列. 方法1:递 ...

  2. SQL优化 - 避免使用 IN 和 NOT IN

    WHY? IN 和 NOT IN 是比较常用的关键字,为什么要尽量避免呢? 1.效率低 项目中遇到这么个情况: t1表 和 t2表  都是150w条数据,600M的样子,都不算大. 但是这样一句查询  ...

  3. openvpn 批量生成用户脚本

    #/bin/bash for user in "$@" do echo "新增用户:$user" if [ -d "/etc/openvpn/clie ...

  4. 修改window本地hosts文件,修改域名指向

    Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Host ...

  5. CSS 边框图像

    border-image border-image 可以将图像应用到盒子的边框上. border-image 属性需要3个值同时存在: URL 图片的地址 切割图片的位,4个边需要写4个值 如何处理边 ...

  6. svn git 必须理解的概念

    不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入“查阅过很多资料,依然掌握不好”的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把 ...

  7. @JsonInclude(JsonInclude.Include.NON_NULL) 加在对象上

    @JsonInclude(JsonInclude.Include.NON_NULL) public class ViewWorkermessage implements Serializable { ...

  8. javascript 执行环境,作用域、作用域链、闭包

    1.执行环境 执行环境是JavaScript中国最为重要的一个概念.执行环境定义了变量或函数有权访问的其他数据,决定了他们各自的行为.每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数 ...

  9. burpsuite的使用(一)

    安装证书: 打开burpsuite,设置好代理.端口8080,但是打开https的网站却因为证书问题无法访问. 这需要我们为浏览器手动安装CA证书, 安装CA证书有两种方式: 1. 在burpsuit ...

  10. jackson支持LocalDate等java8时间

    pom文件增加依赖: <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <arti ...