Java后台+数据库+Java web前端(新手)
实现简单页面上对数据的增删改查:Java后台+数据库表+Jsp前端网页设计
项目下载链接:https://pan.baidu.com/s/1UvZ5fzFjxU-GELo9Th3nNg
提取码:kvmc
GitHub源码下载:https://github.com/yishengxiaobai/Java_Course
这里做一个简单的学生课程信息管理系统,做之前一定要先有自己的思路,要不然对新手来说,很容易乱的。
通过本系统,同学们可以添加,删除,查询与修改课程上课地点和课程老师以及课程名称等信息。
运行截图:
数据库设计:
首页:
课程信息录入:
课程信息修改:
课程信息删除:(先查找后删除)
课程信息查询:
另有一完整的代码可供参考,网页版记账本,链接https://www.cnblogs.com/sengzhao666/p/10449534.html
一.建立项目
1. 首先新建一个名为Course的Dynamic Web Project
取完名直接点击完成,或者一直下一步直到完成。
2. 程序分五层
Dao:底层程序
Entity:实体层
Servlet:将界面与底层程序联系起来
Service:可以理解为servlet层与dao层的中转层
Util:连接数据库
注意servlet层不是建立类,而是建立一个Servlet;其他包下均为类。
二.数据库设计
三.系统功能分析
1. 添加
需要一个界面add.jsp
2. 删除
首先需要根据名称查找;deletebyName.jsp
查找后列出结果,删除;delete.jsp
3. 修改
首先列出所有数据;list.jsp
修改界面;update.jsp
4. 查询
查询界面;select.jsp(模糊查询)
显示查询结果界面;selectlist.jsp
四.实现增删改查四项基本功能(以添加功能为例,其他思路相同)
功能解析:
add界面得到数据;
servlet层获得数据;
Service层传递给dao底层程序;
最后dao层执行sql语句:
String sql = "insert into course(name, teacher, classroom) values('" + course.getName() + "','" + course.getTeacher() + "','" + course.getClassroom() + "')";
将数据添加进数据库。
注:推荐写程序时编写顺序也这么来:先想好系统功能,然后编写前端jsp再一步一步往下推。
程序详解:
添加界面add.jsp得到用户键入的数据;
界面执行通过后,action="courseServlet?method=add" 三目运算符将method赋值为add;
Servlet层得到method,判断method值;
String method = req.getParameter("method");
if ("add".equals(method)) {
add(req, resp);
}
执行add函数。
servlet层add函数获得界面数据:
String name = req.getParameter("name");
String teacher = req.getParameter("teacher");
String classroom = req.getParameter("classroom");
Course course= new Course(name, teacher, classroom);
调用service层函数:
if(service.add(course)) {
req.setAttribute("message", "添加成功");//setAttribute方法用于将内容保存在对象中,传到下一个页面中
req.getRequestDispatcher("add.jsp").forward(req,resp);//getRequestDispatcher方法用于进入下一个页面
}
Service层传递给dao底层。
public boolean add(Course course) {
boolean bean=false;
if(!dao.rename(course.getName())) {
//检查是否重名,否的话执行下一步
dao.add(course);
bean=true;
}
return bean;
}
Dao层执行添加功能:
String sql = "insert into course(name, teacher, classroom) values('" + course.getName() + "','" + course.getTeacher() + "','" + course.getClassroom() + "')";
五.源代码:
实体层Course.Java:
private String name;
private String teacher;
private String classroom;
public void setId(int id) {
this.id=id;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTeacher() {
return teacher;
}
public void setTeacher(String teacher) {
this.teacher = teacher;
}
public String getClassroom() {
return classroom;
}
public void setClassroom(String classroom) {
this.classroom = classroom;
}
public Course() {}
this.name = name;
this.teacher = teacher;
this.classroom = classroom;
}
}
servlet层代码如下:
import java.io.IOException;
import java.util.List;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import service.courseService;
* Servlet implementation class courseServlet
*/
@WebServlet("/courseServlet")
public class courseServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
/**
* 方法选择
*/
req.setCharacterEncoding("utf-8");
String method = req.getParameter("method");
if ("add".equals(method)) {
add(req, resp);
} else if ("delete".equals(method)) {
delete(req, resp);
} else if ("update".equals(method)) {
update(req, resp);
} else if ("select".equals(method)) {
select(req, resp);
} else if ("getCoursebyName".equals(method)) {
getCoursebyName(req, resp);
} else if ("getCoursebyName2".equals(method)) {
getCoursebyName2(req, resp);
} else if ("list".equals(method)) {
list(req, resp);
}
}
//添加
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
String teacher = req.getParameter("teacher");
String classroom = req.getParameter("classroom");
Course course= new Course(name, teacher, classroom);
//判断是否重名
if(service.add(course)) {
req.setAttribute("message", "添加成功");//setAttribute方法用于将内容保存在对象中,传到下一个页面中
req.getRequestDispatcher("add.jsp").forward(req,resp);//getRequestDispatcher方法用于进入下一个页面
} else {
req.setAttribute("message", "课程名称重复,请重新录入");
req.getRequestDispatcher("add.jsp").forward(req,resp);
}
}
// 删除
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
service.delete(name);
req.setAttribute("message", "课程信息删除成功");
req.getRequestDispatcher("deletebyName.jsp").forward(req,resp);
}
/*
* 通过名字得到
* 跳转至修改
*/
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
Course course =service.getCoursebyName(name);
req.setAttribute("course", course);
req.getRequestDispatcher("update.jsp").forward(req,resp);
}
/*
* 通过名字查找
* 跳转至删除
*/
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
Course course =service.getCoursebyName(name);
if(course == null) {
req.setAttribute("message", "查无此课程!");
req.getRequestDispatcher("deletebyName.jsp").forward(req,resp);
} else {
req.setAttribute("course", course);
req.getRequestDispatcher("delete.jsp").forward(req,resp);
}
}
//列出全部信息
req.setCharacterEncoding("utf-8");
List<Course> course = service.list();
req.setAttribute("courses",course);
req.getRequestDispatcher("list.jsp").forward(req,resp);
}
//修改
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
String teacher = req.getParameter("teacher");
String classroom = req.getParameter("classroom");
Course course = new Course(name,teacher, classroom);
int k=service.update(course);
if(k==0) {
req.setAttribute("message", "修改失败");
req.getRequestDispatcher("courseServlet?method=list").forward(req,resp);
}else if(k==1){
req.setAttribute("message", "修改成功");
req.getRequestDispatcher("courseServlet?method=list").forward(req,resp);
}
}
//查找
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
String teacher = req.getParameter("teacher");
String classroom = req.getParameter("classroom");
List<Course> course = service.select(name, teacher, classroom);
req.setAttribute("courses", course);
req.getRequestDispatcher("selectlist.jsp").forward(req,resp);
}
}
service层代码如下:
import entity.Course;
Dao dao=new Dao();
public boolean add(Course course) {
boolean bean=false;
if(!dao.rename(course.getName())) {
//检查是否重名,否的话执行下一步
dao.add(course);
bean=true;
}
return bean;
}
public void delete(String name) {
dao.delete(name);
}
public int update(Course course) {
int f=0;
if(dao.update(course)) {
f=1;
}
return f;
}
public Course getCoursebyName(String name) {
//通过Name得到一个Course
return dao.getCoursebyName(name);
}
public List<Course> select(String name, String teacher, String classroom) {
//查找
return dao.select(name, teacher, classroom);
}
//列出表中所有信息
return dao.list();
}
}
Dao层代码如下:
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import util.Shujuku;
/*
* 将函数设置为Boolean类型,只返回真值或假值给service层,方便
*/
public boolean rename(String name) {
//搜索数据库表course,检查是否重名
String sql = "select * from courses where name ='" + name + "'";
Connection conn =Shujuku.conn() ;
Statement st= null;
ResultSet rs = null;
boolean bean=false;
try {
st = conn.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
bean = true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Shujuku.close(rs,st, conn);
}
return bean;
}
//添加
String sql = "insert into courses(name, teacher, classroom) values('" + course.getName() + "','" + course.getTeacher() + "','" + course.getClassroom() + "')";
Connection conn =Shujuku.conn() ;
Statement st= null;
boolean bean = false;
int a = 0;
try {
st = conn.createStatement();
st.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
} finally {
Shujuku.close(st, conn);
}
if (a > 0) {
bean = true;
}
return bean;
}
// 通过名字删除
boolean f=false;
String sql = "delete from courses where name ='" + name + "'";//删除
Connection conn = Shujuku.conn();
Statement state = null;
int a=0;
try {
state = conn.createStatement();
a=state.executeUpdate(sql);
}catch (Exception e) {
e.printStackTrace();
} finally {
Shujuku.close(state, conn);
}
if(a>0) {
f=true;
}
return f;
}
// 修改
String sql = "update courses set teacher='" + course.getTeacher() + "', classroom='" + course.getClassroom()+"'where name='"+course.getName()+"'";
Connection conn = Shujuku.conn();
Statement state = null;
boolean f = false;
int a = 0;
state = conn.createStatement();
a = state.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
Shujuku.close(state, conn);
}
if (a > 0) {
f = true;
}
return f;
}
String sql = "select * from courses where name ='" + name + "'";
Connection conn =Shujuku.conn() ;
Statement st= null;
ResultSet rs = null;
Course course=null;
try {
st = conn.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
String teacher = rs.getString("teacher");
String classroom = rs.getString("classroom");
course = new Course(name, teacher, classroom);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Shujuku.close(rs,st, conn);
}
return course;
}
String sql = "select * from courses where ";
if (name !=null) {
sql += "name like '%" + name + "% '";
}else if(name==null) {
sql += " ";
}
if (name !=null&&teacher !=null) {
sql += "and teacher like '%" + teacher + "% '";
}else if(name==null&&teacher !=null) {
sql += "teacher like '%" + teacher + "% '";
}else if(teacher==null) {
sql += " ";
}
if ((name!=null||teacher !=null)&&classroom !=null) {
sql += "and classroom like '%" + classroom + "%'";
}else if(name==null&&teacher==null&&classroom !=null) {
sql += "teacher like '%" + teacher + "% '";
}else if(classroom==null) {
sql += " ";
}
List<Course> list = new ArrayList<>();
Connection conn =Shujuku.conn() ;
Statement st= null;
ResultSet rs = null;
try {
st = conn.createStatement();
rs = st.executeQuery(sql);
Course course=null;
while (rs.next()) {
String name2 = rs.getString("name");
String teacher2 = rs.getString("teacher");
String classroom2 = rs.getString("classroom");
course= new Course(name2, teacher2, classroom2);
list.add(course);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Shujuku.close(rs,st, conn);
}
return list;
String sql = "select * from courses";
List<Course> list = new ArrayList<>();
Connection conn =Shujuku.conn() ;
Statement st= null;
ResultSet rs = null;
try {
st = conn.createStatement();
rs = st.executeQuery(sql);
Course course=null;
while (rs.next()) {
String name2 = rs.getString("name");
String teacher2 = rs.getString("teacher");
String classroom2 = rs.getString("classroom");
course= new Course(name2, teacher2, classroom2);
list.add(course);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Shujuku.close(rs,st, conn);
}
return list;
数据库连接信息放在util包内:(我这里用的是sql server 2008r2)
import java.sql.Connection;
import java.sql.DriverManager; public class Shujuku {
public static Connection conn(){
String url="jdbc:sqlserver://localhost:1433;DatabaseName=YourShujukuName";//填写你的数据库名
String userName="sa";//填写你的用户名,我的是sa
String userPwd="tzk19991029";//填写你的密码,我的是tzk19991029
Connection con=null; try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("加载驱动成功!"); }catch(Exception e){ e.printStackTrace(); System.out.println("加载驱动失败!");
}
try{
con=DriverManager.getConnection(url,userName,userPwd);
System.out.println("连接数据库成功!");
}catch(Exception e){
e.printStackTrace();
System.out.print("SQL Server连接失败!");
}
return con;
}
}
二.网页部分
index.jsp是首页,代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>首页</title>
<style >
.a{
font-size: 26px;
margin-top: 20px;
}
</style>
</head>
<body>
<div align="center">
<h1 style="color: red;">课程基本信息管理系统</h1>
<div class="a">
<a href="add.jsp">课程信息录入</a>
</div>
<div class="a">
<a href="courseServlet?method=list">课程信息修改</a>
</div>
<div class="a">
<a href="deletebyName.jsp">课程信息删除</a>
</div>
<div class="a">
<a href="select.jsp">课程信息查询</a>
</div>
</div>
</body>
</html>
add.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: red;">课程信息录入</h1>
<a href="index.jsp">返回主页</a>
<form action="courseServlet?method=add" method="post" onsubmit="return check()">
<div >
课程名称<input type="text" id="name" name="name"/>
</div>
<div >
任课教师<input type="text" id="teacher" name="teacher" />
</div>
<div >
上课地点<input type="text" id="classroom" name="classroom" />
</div>
<div >
<button type="submit" >保 存</button>
</div>
</form>
</div>
<script type="text/javascript">
function check() {
var name = document.getElementById("name");;
var teacher = document.getElementById("teacher");
var classroom = document.getElementById("classroom");
//非空
if(name.value == '') {
alert('课程名称为空');
name.focus();
return false;
}
if(teacher.value == '') {
alert('教师为空');
teacher.focus();
return false;
}
if(classroom.value == '') {
alert('上课地点为空');
classroom.focus();
return false;
}
}
</script>
</body>
</html>
list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<style>
.tb, td {
border: 1px solid black;
font-size: 22px;
}
</style>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){ %>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: red;">课程信息列表</h1>
<a href="index.jsp">返回主页</a>
<table class="tb">
<tr>
<td>课程名称</td>
<td>任课教师</td>
<td>上课地点</td>
<td align="center" colspan="2">操作</td>
</tr>
<c:forEach items="${courses}" var="item">
<tr>
<td>${item.name}</td>
<td>${item.teacher}</td>
<td>${item.classroom}</td>
<td><a href="courseServlet?method=getCoursebyName2&name=${item.name}">修改</a></td>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>
deletebyName.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>删除</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){ %>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: red;">课程信息删除</h1>
<a href="index.jsp">返回主页</a>
<form action="courseServlet?method=getCoursebyName" method="post" onsubmit="return check()">
<div >
课程名称<input type="text" id="name" name="name"/>
</div>
<div >
<button type="submit" class="b">查 找</button>
</div>
</form>
</div>
<script type="text/javascript">
function check() {
var name = document.getElementById("name");; //非空
if(name.value == '') {
alert('课程名称为空');
name.focus();
return false;
}
}
</script>
</body>
</html>
delete.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<style>
.tb, td {
border: 1px solid black;
font-size: 22px;
}
</style>
</head>
<body>
<div align="center">
<h1 style="color: red;">课程信息删除</h1>
<a href="index.jsp">返回主页</a>
<table class="tb">
<tr>
<td>课程名称</td>
<td>${course.name}</td>
</tr>
<tr>
<td>任课教师</td>
<td>${course.teacher}</td>
</tr>
<tr>
<td>上课地点</td>
<td>${course.classroom}</td>
</tr>
</table>
<div class="a">
<a onclick="return check()" href="courseServlet?method=delete&name=${course.name}">删 除</a>
</div>
</div>
<script type="text/javascript">
function check() {
if (confirm("真的要删除吗?")){
return true;
}else{
return false;
}
}
</script>
</body>
</html>
select.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<div align="center">
<h1 style="color: red;">课程信息查询</h1>
<a href="index.jsp">返回主页</a>
<form action="courseServlet?method=select" method="post" onsubmit="return check()">
<div >
课程名称<input type="text" id="name" name="name"/>
</div>
<div >
任课教师<input type="text" id="teacher" name="teacher" />
</div>
<div >
上课地点<input type="text" id="classroom" name="classroom" />
</div>
<div >
<button type="submit" class="b">查 询</button>
</div>
</form>
</div>
<script type="text/javascript">
function check() {
var name = document.getElementById("name");;
var teacher = document.getElementById("teacher");
var classroom = document.getElementById("classroom");
//非空
if(name.value == '' && teacher.value == '' && classroom.value == '') {
alert('请填写一个条件');
return false;
}
}
</script>
</body>
</html>
selectlist.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<style>
.tb, td {
border: 1px solid black;
font-size: 22px;
}
</style>
</head>
<body>
<div align="center">
<h1 style="color: red;">课程信息列表</h1>
<a href="index.jsp">返回主页</a>
<table class="tb">
<tr>
<td>课程名称</td>
<td>任课教师</td>
<td>上课地点</td>
</tr>
<!-- forEach遍历出adminBeans -->
<c:forEach items="${courses}" var="item">
<tr>
<td>${item.name}</td>
<td>${item.teacher}</td>
<td>${item.classroom}</td>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>
update.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){ %>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: red;">课程信息修改</h1>
<a href="index.jsp">返回主页</a>
<form action="courseServlet?method=update&name=${course.name}" method="post" onsubmit="return check()">
<div >
课程名称<input type="text" id="name" name="name" disabled value="${course.name}"/>
</div>
<div >
任课教师<input type="text" id="teacher" name="teacher" value="${course.teacher}"/>
</div>
<div >
上课地点<input type="text" id="classroom" name="classroom" value="${course.classroom}"/>
</div>
<button type="submit">修 改</button>
</form>
</div>
<script type="text/javascript">
function check() {
var name = document.getElementById("name");
var teacher = document.getElementById("teacher");
var classroom = document.getElementById("classroom"); //非空
if(teacher.value == '') {
alert('教师为空');
teacher.focus();
return false;
}
if(classroom.value == '') {
alert('上课地点为空');
classroom.focus();
return false;
} }
</script>
</body>
</html>
注意:WebContent/WEN-INF/lib包下需要放置jstl.jar包和standard.jar包。可自行去网上下载。
Java后台+数据库+Java web前端(新手)的更多相关文章
- Java后台+数据库+Java web前端——记账本
下面是本人实现的网页版(设计思路见上一篇https://www.cnblogs.com/sengzhao666/p/10445984.html) 代码如下: 运行截图: 首页: 创建: 账本删除:(先 ...
- 数据结构---公交线路提示系统(Java后台+excel表格+web前端)
系统大致流程: index.jsp输入站名(点击“出示站点信息”,跳转list.jsp读取表格):后台通过站名获得id:getIdbyname(String name)将id反馈至dijkstra( ...
- 最近整理出了有关大数据,微服务,分布式,Java,Python,Web前端,产品运营,交互等1.7G的学习资料,有视频教程,源码,课件,工具,面试题等等。这里将珍藏多年的资源免费分享给各位小伙伴们
大数据,微服务,分布式,Java,Python,Web前端,产品运营,交互 领取方式在篇尾!!! 基础篇.互联网架构,高级程序员必备视频,Linux系统.JVM.大型分布式电商项目实战视频...... ...
- Web前端新手经典学习路线
做前端开发八九年的时间,到2015年的时候,Web前端因为HTML5技术的高速发展,成为IT行业中最受欢迎和未来需求人才发展最好的职业,各个行业都想转行做前端开发,包括一些在校的学生,土木工程,一些不 ...
- Java课程设计之——Web前端
主要使用的技术 Javascript/JQuery html css Jsp 前期调查 能看到的网页大致可以分为两个部分,一个是搜索的首页index.html,一个是搜索结果页/s index.htm ...
- java 后台解密小程序前端传过来的信息,解密手机号
package com.llny.controller; import com.google.gson.Gson; import com.google.gson.JsonObject; import ...
- Web前端新手想提升自身岗位竞争力,需做好这3件事!
Web前端开发行业的发展前景毋庸置疑,只要是互联网企业,几乎都需要Web前端开发工程师.虽然Web前端入行门槛低,但竞争逐渐激烈,想要取得高薪,就一定要具备强大的实力.那么,在重庆Web前端培训学习中 ...
- 自学 Java开发(Java后台开发|Java后端开发)的书籍推荐
java编程思想java并发编程实战深入理解java虚拟机函数式编程思维tcp/ip详解鸟哥的linux私房菜spring mvc +mybatis开发从入门到精通spring技术内幕elastics ...
- java后台生成文件给前端下载(response输出流)
1.设置 ContentType response.setContentType("application/x-download"); 2.设置文件名,并指定编码格式 fileNa ...
随机推荐
- go 的正则表达式
go 操作字符串.由于 go 中的字符串不是对象,所以没有直接操作字符串的相关方法.要操作字符串可以使用 strings 包或者 regexp 包处理. 一.简要介绍一下,strings 包 (str ...
- Python不支持函数重载
函数重载与Python: 函数重载的好处就是不用为了不同的参数类型或参数个数,而写多个函数.多个函数用同一个名字,但参数表,即参数的个数和数据类型可以不同.调用的时候,虽然方法名字相同,但根据参数表可 ...
- 文本分类学习 (八)SVM 入门之线性分类器
SVM 和线性分类器是分不开的.因为SVM的核心:高维空间中,在线性可分(如果线性不可分那么就使用核函数转换为更高维从而变的线性可分)的数据集中寻找一个最优的超平面将数据集分隔开来. 所以要理解SVM ...
- [No0000182]Parallel Programming with .NET-Partitioning in PLINQ
Every PLINQ query that can be parallelized starts with the same step: partitioning. Some queries ma ...
- 动画支持的一些keypath
transform.scale = 比例轉換 transform.scale.x = 闊的比例轉換 transform.scale.y = 高的比例轉換 transform.rotation.z = ...
- 业界微服务楷模Netflix是这样构建微服务技术架构的
1. 如不考虑组织架构,直接切入技术架构(很多架构师的通病),则失败风险巨大. https://mp.weixin.qq.com/s/C8Rdz9wFtrBKfxPRzf0OBQ
- 添加linux系统调用的两种方式
原文:https://blog.csdn.net/sdulibh/article/details/51889279 向linux内核添加系统调用,一是通过编译内核添加,二是通过内核模块的方式添加: 一 ...
- java 线程 (二) 线程池
package cn.sasa.demo2; import java.util.concurrent.ExecutorService; import java.util.concurrent.Exec ...
- Jenkins tomcat打包启动脚本,待完善
shell脚本 #!/bin/bashJENKINS_HOME=/usr/local/jenkinsTOMCAT_HOME=/usr/local/jenkins/tomcat-testSHUTDOWN ...
- oracle中in和exists的区别
IN适合于外表大而内表小的情况:EXISTS适合于外表小而内表大的情况. 性能上的比较 比如Select * from T1 where x in ( select y from T2 ) 执行的过程 ...