JAVAWEB 一一 userweb2(升级,servlet版,jstl和el)
创建数据库和表
首先,创建一个web项目
然后引入jar包(jstl.jar和standard.jar是jstl和el包,在jsp页面中需要手动加 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 才有效)
创建jsp页面(doXX.jsp的代码全部转移到servlet里面)
创建包
创建接口
实现类
创建servlet
创建fiter过滤器
创建工具类(分页)
详细内容
首先创建一个登陆页面
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'login.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page"> <!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<form action="UserServlet" method="post">
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="password3"/><br/>
<input type="submit" value="登陆"/>
<input type="reset" value="重置"/>
</form>
</body> </html>
创建要跳转的页面 (充当半个控制器servlet)
dologin.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
<%@page import="com.user.service.impl.UserServiceImpl"%> <%@page import="com.user.service.UserService"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'dologin.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body > <% //dologin相当于一个servlet //设置前台页面参数 编码格式 request.setCharacterEncoding("UTF-8"); //获取前台页面参数 String username = request.getParameter("username"); String password = request.getParameter("password"); // 调用Service 层方法 判断是否成功 UserService service = new UserServiceImpl(); boolean islogin = service.isLogin(username, password); if(islogin){//登录成功 跳转到sucess.jsp页面 否则 跳转到login.jsp //转发 request.getRequestDispatcher("success.jsp").forward(request,response); }else{//登录失败 //重定向 response.sendRedirect("Login.jsp"); } %> </ body > </ html > |
将dologin.jsp的代码复制粘贴到
UserServlet.java
package com.user.servlet.user; import java.io.IOException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.user.service.UserService;
import com.user.service.impl.UserServiceImpl; public class UserServlet extends HttpServlet { /**
* Constructor of the object.
*/
public UserServlet() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置前台页面参数编码格式
request.setCharacterEncoding("UTF-8");
//获取前台页面参数
String username = request.getParameter("username");
String password = request.getParameter("password3");
//调用Sevice层方法 判断是否登陆成功
UserService service = new UserServiceImpl();
boolean isLogin = service.isLogin(username, password);
//如果登陆成功则跳转至success.jsp,否则跳转至login.jsp重新登陆
if(isLogin){
//转发
request.getRequestDispatcher("EmpServlet").forward(request, response);
}else{
//重定向
response.sendRedirect("jsp/login.jsp");
} } /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response); } /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }
成功跳转
success.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'success.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body > < h1 >登录成功</ h1 >< br > </ body > </ html > |
否则
Login.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'Login.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body > < form action="jsp/dologin.jsp" method="post"> 用户名:< input type="text" name="username"/>< br /> 密码 :< input type="password" name="password"/> < br /> < input type="submit" value="登录"/> < input type="reset" value="重置"/> </ form > </ body > </ html > |
User
entity层
实体类
User.java
package com.user.entity;
/**
*
* @author Administrator
*
*/
public class User { private String username;
private String password;
private String job;
private String email;
private int age;
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;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public User(String username, String password, String job, String email,
int age) {
super();
this.username = username;
this.password = password;
this.job = job;
this.email = email;
this.age = age;
}
public User() {
super();
} }
service层
接口 UserService.java
package com.user.service; public interface UserService { public boolean isLogin(String username,String password);
}
实现类 UserServiceImpl.java
package com.user.service.impl; import com.user.dao.UserDao;
import com.user.dao.impl.UserDaoImpl;
import com.user.entity.User;
import com.user.service.UserService; public class UserServiceImpl implements UserService { public boolean isLogin(String username, String password) { UserDao userDao = new UserDaoImpl(); User user = userDao.getUserByName(username); if(user!=null){ String pwd= user.getPassword(); if(pwd.equals(password)){ return true;
}
return false; }else{
return false;
}
} }
dao层
接口 UserDao.java
package com.user.dao; import com.user.entity.User; public interface UserDao { public User getUserByName(String username); }
实现类 UserDaoImpl.java
package com.user.dao.impl; import java.sql.ResultSet;
import java.sql.SQLException; import com.user.dao.BaseDao;
import com.user.dao.UserDao;
import com.user.entity.User; public class UserDaoImpl implements UserDao {
BaseDao dao = new BaseDao();
public User getUserByName(String username) {
//
String sql ="select * from users where username = ?";
Object [] obj = new Object[]{ username};
ResultSet rs = dao.executeQuery(sql, obj);
User user =null;
try {
while(rs.next()){
String password = rs.getString("password");
String job = rs.getString("job");
String email = rs.getString("email");
int age = rs.getInt("age");
user = new User(username, password, job, email, age);
}
return user;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
dao.closeConnection();
}
return null;
} }
basedao,java
package com.user.dao; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource; /**
* 数据库操作的基类
* @author YangKe
*
*/
public class BaseDao { protected Connection conn;
protected PreparedStatement ps;
protected ResultSet rs;
protected String sql;
//获取连接
public Connection getConnection(){
try {
//获取上下文对象
Context ctx = new InitialContext();
//从上下文中查找数据源
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/emp");
//从数据源中获取连接
conn = ds.getConnection();
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
} //关闭连接释放资源
public void closeConnection(){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null){
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//通过JDBC来对数据库进行查询操作
public ResultSet executeQuery(String sql, Object[] obj ){
//获取连接
conn = getConnection();
try {
//预编译SQL
ps= conn.prepareStatement(sql);
for (int i = 0; i < obj.length; i++) {
//给占位符赋值
ps.setObject(i+1, obj[i]);
}
//执行SQL语句,获取结果集
rs = ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
//通过JDBC来对数据库进行更新操作
public boolean executeUpdate(String sql, Object[] obj ){
//获取连接
conn = getConnection();
try {
//预编译SQL
ps= conn.prepareStatement(sql);
for (int i = 0; i < obj.length; i++) {
//给占位符赋值
ps.setObject(i+1, obj[i]);
}
//执行SQL语句,获取该更新语句实际影响的行数
int count = ps.executeUpdate();
//如果行数大于0,表示更新操作成功
if(count>0){
return true;
//否则表示更新操作失败
}else{
return false;
}
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
}
Login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'Login.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<form action="jsp/dologin.jsp" method="post">
用户名:<input type="text" name="username"/><br/>
密码 :<input type="password" name="password"/> <br/>
<input type="submit" value="登录"/>
<input type="reset" value="重置"/>
</form>
</body>
</html>
dologin.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
<%@page import="com.user.service.impl.UserServiceImpl"%> <%@page import="com.user.service.UserService"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'dologin.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body > <% //dologin相当于一个servlet //设置前台页面参数 编码格式 request.setCharacterEncoding("UTF-8"); //获取前台页面参数 String username = request.getParameter("username"); String password = request.getParameter("password"); // 调用Service 层方法 判断是否成功 UserService service = new UserServiceImpl(); boolean islogin = service.isLogin(username, password); if(islogin){//登录成功 跳转到sucess.jsp页面 否则 跳转到login.jsp //转发 request.getRequestDispatcher("success.jsp").forward(request,response); }else{//登录失败 //重定向 response.sendRedirect("Login.jsp"); } %> </ body > </ html > |
将dologin.jsp的代码复制粘贴到
UserServlet.java
package com.user.servlet.user; import java.io.IOException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.user.service.UserService;
import com.user.service.impl.UserServiceImpl; public class UserServlet extends HttpServlet { /**
* Constructor of the object.
*/
public UserServlet() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置前台页面参数编码格式
request.setCharacterEncoding("UTF-8");
//获取前台页面参数
String username = request.getParameter("username");
String password = request.getParameter("password3");
//调用Sevice层方法 判断是否登陆成功
UserService service = new UserServiceImpl();
boolean isLogin = service.isLogin(username, password);
//如果登陆成功则跳转至success.jsp,否则跳转至login.jsp重新登陆
if(isLogin){
//转发
request.getRequestDispatcher("EmpServlet").forward(request, response);
}else{
//重定向
response.sendRedirect("jsp/login.jsp");
} } /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response); } /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }
success .jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'success.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<h1>登录成功</h1><br>
</body>
</html>
也可以直接跳转到别的页面比如list.jsp 一个雇员信息列表的页面 但是 这个页面的数据是从数据库查出来的(这样才是动态页面啊)
那么就需要再做一遍上面的步骤 (创建Emp接口和实现类 还有dolist页面 list页面)
Emp
entity层
Emp.java
package com.user.entity; import java.util.Date; public class Emp {
private int empno;
private String ename;
private String job;
private int mgr;
private Date hiredate;
private double sal;
private double comm;
private int deptno; public Emp() {
super();
}
public Emp(int empno, String ename, String job, int mgr, Date hiredate,
double sal, double comm, int deptno) {
super();
this.empno = empno;
this.ename = ename;
this.job = job;
this.mgr = mgr;
this.hiredate = hiredate;
this.sal = sal;
this.comm = comm;
this.deptno = deptno;
} public int getEmpno() {
return empno;
}
public void setEmpno(int empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public int getMgr() {
return mgr;
}
public void setMgr(int mgr) {
this.mgr = mgr;
}
public Date getHiredate() {
return hiredate;
}
public void setHiredate(Date hiredate) {
this.hiredate = hiredate;
}
public double getSal() {
return sal;
}
public void setSal(double sal) {
this.sal = sal;
}
public double getComm() {
return comm;
}
public void setComm(double comm) {
this.comm = comm;
}
public int getDeptno() {
return deptno;
}
public void setDeptno(int deptno) {
this.deptno = deptno;
} }
service层
接口 EmpService.java
/**
*
*/
package com.user.service; import java.util.List; import com.user.entity.Emp; /**
* @author YangKe
*
*/
public interface EmpService { public List<Emp> getEmpList(); public Emp getEmpById(int empno); public List<Emp> getEmpByName(String ename); public boolean addEmp(Emp emp); public boolean updateEmp(Emp emp); public boolean delEmpById(int empno); public List<Emp> getEmpList(int pageIndex,int pageSize); public int getTotalCount(); }
实现类 EmpServiceImpl
package com.user.service.impl; import java.util.List; import com.user.dao.EmpDao;
import com.user.dao.impl.EmpDaoImpl;
import com.user.entity.Emp;
import com.user.service.EmpService; public class EmpServiceImpl implements EmpService { EmpDao empdao = new EmpDaoImpl(); public List<Emp> getEmpList() {
// TODO Auto-generated method stub return empdao.getEmpList();
} public Emp getEmpById(int empno) { return empdao.getEmpByNo(empno);
} public List<Emp> getEmpByName(String ename) {
// TODO Auto-generated method stub
return null;
} public boolean addEmp(Emp emp) {
return empdao.addEmp(emp);
} public boolean updateEmp(Emp emp) { return empdao.updateEmp(emp);
} public boolean delEmpById(int empno) {
// TODO Auto-generated method stub
return empdao.delEmpById(empno);
}
public List<Emp> getEmpList(int pageIndex,int pageSize){
return empdao.getEmpList();
}
public int getTotalCount(){
return empdao.getTotalCount();
} }
dao层
接口
EmpDao.java
package com.user.dao; import java.util.List; import com.user.entity.Emp; public interface EmpDao {
//
public List<Emp> getEmpList();
//
public Emp getEmpByNo(int empno);
//
public List<Emp> getEmpByName(String name);
//
public boolean addEmp(Emp emp);
//
public boolean updateEmp(Emp emp); //
public boolean delEmpById(int empno);
//分页
public List<Emp> getEmpList(int pageIndex,int pageSize); public int getTotalCount(); }
实现类
EmpDaoImpl.java
package com.user.dao.impl; import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import com.user.dao.BaseDao;
import com.user.dao.EmpDao; import com.user.entity.Emp;
import com.user.util.Page; public class EmpDaoImpl implements EmpDao {
Page page = new Page();
//创建一个操作数据库的对象
BaseDao basedao = new BaseDao(); public List<Emp> getEmpList() {
String sql = "select * from emp ";
Object [] obj = new Object[]{};
ResultSet rs = basedao.executeQuery(sql, obj);
List<Emp> list = new ArrayList<Emp>();
try {
while(rs.next()){ String ename = rs.getString("ename");
int empno =rs.getInt("empno");
String job = rs.getString("job");
int mgr = rs.getInt("mgr");
Date hiredate = rs.getDate("hiredate");
double sal = rs.getDouble("sal");
double comm = rs.getDouble("comm");
int deptno = rs.getInt("deptno");
Emp emp = new Emp(empno, ename, job, mgr, hiredate, sal, comm, deptno);
list.add(emp);
}
return list;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return null;
} public Emp getEmpByNo(int empno) {
String sql = "select * from emp where empno=?";
Object[]obj = new Object[]{empno};
ResultSet rs = basedao.executeQuery(sql, obj);
Emp emp =null;
try {
while(rs.next()){ String ename = rs.getString("ename");
empno =rs.getInt("empno");
String job = rs.getString("job");
int mgr = rs.getInt("mgr");
Date hiredate = rs.getDate("hiredate");
double sal = rs.getDouble("sal");
double comm = rs.getDouble("comm");
int deptno = rs.getInt("deptno");
emp = new Emp(empno, ename, job, mgr, hiredate, sal, comm, deptno); }
return emp;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return null;
} public List<Emp> getEmpByName(String name) {
// TODO Auto-generated method stub
return null;
} public boolean addEmp(Emp emp) {
String sql = "insert into emp(empno,ename,job,mgr,sal,comm,deptno) values(?,?,?,?,?,?,?)";
Object[] obj = new Object[] { emp.getEmpno(), emp.getEname(),
emp.getJob(), emp.getMgr(), emp.getSal(), emp.getComm(),
emp.getDeptno() };
return basedao.executeUpdate(sql, obj);
} public boolean updateEmp(Emp emp) {
String sql = "update emp set ename=?,job=?,mgr=?,sal=?,comm=?,deptno=? where empno=?";
Object [] obj = new Object[]{ emp.getEname(),
emp.getJob(), emp.getMgr(), emp.getSal(), emp.getComm(),
emp.getDeptno(),emp.getEmpno()};
return basedao.executeUpdate(sql, obj);
} public boolean delEmpById(int empno) {
// TODO Auto-generated method stub
String sql ="delete from emp where empno =?";
Object[] obj = new Object[]{empno};
return basedao.executeUpdate(sql, obj); } public List<Emp> getEmpList(int pageIndex, int pageSize) {
String sql = "select*from(select e.*,rownum rn from (select * from emp)e)where rn>=? and rn<=?";
int startRow = page.getStartRow(pageIndex, pageSize);
int endRow = page.getEndRow(pageIndex, pageSize);
Object[]obj= new Object[]{startRow,endRow};
ResultSet rs = basedao.executeQuery(sql, obj);
List<Emp>list =new ArrayList<Emp>();
try {
while(rs.next()){ String ename = rs.getString("ename");
int empno =rs.getInt("empno");
String job = rs.getString("job");
int mgr = rs.getInt("mgr");
Date hiredate = rs.getDate("hiredate");
double sal = rs.getDouble("sal");
double comm = rs.getDouble("comm");
int deptno = rs.getInt("deptno");
Emp emp = new Emp(empno, ename, job, mgr, hiredate, sal, comm, deptno);
list.add(emp);
}
return list;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return null;
}
public int getTotalCount(){
String sql = "select count(*) from emp";
//空的
Object[]obj= new Object[]{};
ResultSet rs = basedao.executeQuery(sql, obj);
int count=0;
try {
while(rs.next()){
count = rs.getInt(1); }
return count;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
}
查
dolist.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<%@page import="com.user.entity.Emp"%> <%@page import="com.user.service.EmpService"%> <%@page import="com.user.service.impl.EmpServiceImpl"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'dolist.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body > <% //设置前台页面参数 编码格式 request.setCharacterEncoding("UTF-8"); EmpService service =new EmpServiceImpl(); List< Emp >list=service.getEmpList(); //转发到list。jsp request.setAttribute("list", list); request.getRequestDispatcher("list.jsp").forward(request, response); %> </ body > </ html > |
将dolist的代码复制到
EmpServlet.java
package com.user.servlet.emp;
/**
* EmpServlet是查
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.user.entity.Emp;
import com.user.service.EmpService;
import com.user.service.impl.EmpServiceImpl; public class EmpServlet extends HttpServlet { /**
* Constructor of the object.
*/
public EmpServlet() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { EmpService service= new EmpServiceImpl();
List<Emp> list = service.getEmpList(); //转发到list.jsp页面
request.setAttribute("list", list);
request.getRequestDispatcher("list.jsp")
.forward(request, response); } /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response); } /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }
list.jsp
<%@page import="com.user.entity.Emp"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'list.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<c:out value="123"></c:out> <a href="jsp/addEmp.jsp">新增雇员</a>
<table border="1px" cellpadding="3px" cellspacing="3px">
<thead>
<tr>
<td>雇员编号</td>
<td>雇员姓名</td>
<td>工作</td>
<td>经理编号</td>
<td>入职日期</td>
<td>薪水</td>
<td>津贴</td>
<td>部门编号</td>
<td>操作</td>
</tr>
</thead>
<tbody> %>
<c:forEach items="${list}" var="emp">
<tr> <td>${emp.empno}</td>
<td>${emp.ename}</td>
<td>${emp.job}</td>
<td>${emp.mgr}</td>
<td>${emp.hiredate}</td>
<td>${emp.sal}</td>
<td>${emp.comm}</td>
<td>${emp.deptno}</td>
<td><a href="jsp/dopreupdate.jsp?empno=${emp.empno}">修改</a>
<a href="jsp/dodel.jsp?empno=${emp.empno}%>">删除</a>
</td>
</tr>
</c:forEach> </tbody>
</table>
<c:if test="${pageIndex>1}"> <span>
<a href="jsp/dolist2.jsp?pageIndex=1">首页</a>
<a href="jsp/dolist2.jsp?pageIndex=${pageIndex-1}">上一页</a>
</span> </c:if> <c:if test="${pageIndex>1}">
<span>
<a href="jsp/dolist2.jsp?pageIndex=${pageIndex+1}">下一页</a>
<a href="jsp/dolist2.jsp?pageIndex=${totalPage}">尾页</a>
</span>
</c:if> <span>当前第${pageIndex}页</span>
<span>共${totalPage}页/${totalCount}记录</span>
</body>
</html>
增:
在list展示页面 a标签对应的一个添加雇员的页面
addEmp.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'addEmp.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<form action="jsp/doadd.jsp">
员工编号:<input name ="empno"/><br/>
员工姓名:<input name ="ename"/><br/>
员工工作:<input name ="job"/><br/>
经理编号:<input name ="mgr"/><br/>
入职日期:<input name ="hiredate"/><br/>
薪水:<input name ="sal"/><br/>
津贴:<input name ="comm"/><br/>
部门编号:<input name ="deptno"/><br/>
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</form>
</body>
</html>
doadd .jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
<%@page import="java.text.SimpleDateFormat"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'doadd.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body > <% request.setCharacterEncoding("UTF-8"); String empnoStr=request.getParameter("empno"); String ename=request.getParameter("ename"); String job=request.getParameter("job"); String mgrStr=request.getParameter("mgr"); // String hiredateStr=request.getParameter("hiredate"); String salStr=request.getParameter("sal"); String deptnoStr=request.getParameter("deptno"); //格式转化 int empno = Integer.parseInt(empnoStr); // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); int mgr = Integer.parseInt(mgrStr); // Date hiredate = sdf.parse(hiredateStr); double sal = Double.parseDouble(salStr); int deptno= Integer.parseInt(deptnoStr); // 封装 Emp emp = new Emp(empno,ename,job,mgr,sal,deptno); EmpService service = new EmpServiceImpl(); boolean isAdd = service.addEmp(emp); // if(isAdd){ // }else{ // } response.sendRedirect("dolist.jsp"); %> </ body > </ html > |
将doadd.jsp的代码复制粘贴到
EmpServletAdd.java
package com.user.servlet.emp; import java.io.IOException;
import java.io.PrintWriter; import java.text.ParseException;
import java.text.SimpleDateFormat; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.user.entity.Emp;
import com.user.service.EmpService;
import com.user.service.impl.EmpServiceImpl; public class EmpServletAdd extends HttpServlet { /**
* Constructor of the object.
*/
public EmpServletAdd() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { request.setCharacterEncoding("UTF-8");
String empnoStr = request.getParameter("empno");
String ename = request.getParameter("ename");
String job = request.getParameter("job");
String mgrStr = request.getParameter("mgr");
String hiredateStr = request.getParameter("hiredate");
String salStr = request.getParameter("sal");
String commStr = request.getParameter("comm");
String deptnoStr = request.getParameter("deptno");
int empno =Integer.parseInt(empnoStr);
/* SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date hiredate =sdf.parse(hiredateStr);*/ int mgr = Integer.parseInt(mgrStr);
double sal = Double.parseDouble(salStr);
double comm = Double.parseDouble(commStr);
int deptno = Integer.parseInt(deptnoStr);
//Emp emp = new Emp(empno, ename, job, mgr, hiredate, sal, comm, deptno);
EmpService service = new EmpServiceImpl();
//boolean isAdd = service.addEmp(emp);
// if(isAdd){
//
// }else{
//
// }
response.sendRedirect("EmpServlet"); } /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request,response);
} /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }
dolist.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<%@page import="com.user.entity.Emp"%> <%@page import="com.user.service.EmpService"%> <%@page import="com.user.service.impl.EmpServiceImpl"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'dolist.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body > <% //设置前台页面参数 编码格式 request.setCharacterEncoding("UTF-8"); EmpService service =new EmpServiceImpl(); List< Emp >list=service.getEmpList(); //转发到list。jsp request.setAttribute("list", list); request.getRequestDispatcher("list.jsp").forward(request, response); %> </ body > </ html > |
用EmpServlet.java代替dolist.jsp
EmpServlet.java
package com.user.servlet.emp;
/**
* EmpServlet是查
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.user.entity.Emp;
import com.user.service.EmpService;
import com.user.service.impl.EmpServiceImpl; public class EmpServlet extends HttpServlet { /**
* Constructor of the object.
*/
public EmpServlet() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { EmpService service= new EmpServiceImpl();
List<Emp> list = service.getEmpList(); //转发到list.jsp页面
request.setAttribute("list", list);
request.getRequestDispatcher("list.jsp")
.forward(request, response); } /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response); } /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }
list.jsp
<%@page import="com.user.entity.Emp"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'list.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<c:out value="123"></c:out> <a href="jsp/addEmp.jsp">新增雇员</a>
<table border="1px" cellpadding="3px" cellspacing="3px">
<thead>
<tr>
<td>雇员编号</td>
<td>雇员姓名</td>
<td>工作</td>
<td>经理编号</td>
<td>入职日期</td>
<td>薪水</td>
<td>津贴</td>
<td>部门编号</td>
<td>操作</td>
</tr>
</thead>
<tbody> %>
<c:forEach items="${list}" var="emp">
<tr> <td>${emp.empno}</td>
<td>${emp.ename}</td>
<td>${emp.job}</td>
<td>${emp.mgr}</td>
<td>${emp.hiredate}</td>
<td>${emp.sal}</td>
<td>${emp.comm}</td>
<td>${emp.deptno}</td>
<td><a href="jsp/dopreupdate.jsp?empno=${emp.empno}">修改</a>
<a href="jsp/dodel.jsp?empno=${emp.empno}%>">删除</a>
</td>
</tr>
</c:forEach> </tbody>
</table>
<c:if test="${pageIndex>1}"> <span>
<a href="jsp/dolist2.jsp?pageIndex=1">首页</a>
<a href="jsp/dolist2.jsp?pageIndex=${pageIndex-1}">上一页</a>
</span> </c:if> <c:if test="${pageIndex>1}">
<span>
<a href="jsp/dolist2.jsp?pageIndex=${pageIndex+1}">下一页</a>
<a href="jsp/dolist2.jsp?pageIndex=${totalPage}">尾页</a>
</span>
</c:if> <span>当前第${pageIndex}页</span>
<span>共${totalPage}页/${totalCount}记录</span>
</body>
</html>
删
list.jsp页面
添加一个 删除连接
dodel.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<%@page import="com.user.service.impl.EmpServiceImpl"%> <%@page import="com.user.service.EmpService"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'dodel.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body ><% request.setCharacterEncoding("UTF-8"); String empnoStr=request.getParameter("empno"); //格式转化 int empno = Integer.parseInt(empnoStr); EmpService service = new EmpServiceImpl(); boolean isDel = service.delEmpById(empno); // if(isDel){ // } request.getRequestDispatcher("dolist.jsp").forward(request, response); %> </ body > </ html > |
将dodel.jsp的代码复制到
EmpServletDel.java
package com.user.servlet.emp; import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.user.service.EmpService;
import com.user.service.impl.EmpServiceImpl; public class EmpServletDel extends HttpServlet { /**
* Constructor of the object.
*/
public EmpServletDel() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String empnoStr =request.getParameter("empno");
int empno = Integer.parseInt(empnoStr);
EmpService service= new EmpServiceImpl();
boolean isDel =service.delEmpById(empno);
request.getRequestDispatcher("EmpServlet").forward(request, response); } /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request,response);
} /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }
dolist.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<%@page import="com.user.entity.Emp"%> <%@page import="com.user.service.EmpService"%> <%@page import="com.user.service.impl.EmpServiceImpl"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'dolist.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body > <% //设置前台页面参数 编码格式 request.setCharacterEncoding("UTF-8"); EmpService service =new EmpServiceImpl(); List< Emp >list=service.getEmpList(); //转发到list。jsp request.setAttribute("list", list); request.getRequestDispatcher("list.jsp").forward(request, response); %> </ body > </ html > |
EmpServlet.java代替dolist.jsp
EmpServlet.java
package com.user.servlet.emp;
/**
* EmpServlet是查
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.user.entity.Emp;
import com.user.service.EmpService;
import com.user.service.impl.EmpServiceImpl; public class EmpServlet extends HttpServlet { /**
* Constructor of the object.
*/
public EmpServlet() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { EmpService service= new EmpServiceImpl();
List<Emp> list = service.getEmpList(); //转发到list.jsp页面
request.setAttribute("list", list);
request.getRequestDispatcher("list.jsp")
.forward(request, response); } /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response); } /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }
list.jsp
<%@page import="com.user.entity.Emp"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'list.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<c:out value="123"></c:out> <a href="jsp/addEmp.jsp">新增雇员</a>
<table border="1px" cellpadding="3px" cellspacing="3px">
<thead>
<tr>
<td>雇员编号</td>
<td>雇员姓名</td>
<td>工作</td>
<td>经理编号</td>
<td>入职日期</td>
<td>薪水</td>
<td>津贴</td>
<td>部门编号</td>
<td>操作</td>
</tr>
</thead>
<tbody> %>
<c:forEach items="${list}" var="emp">
<tr> <td>${emp.empno}</td>
<td>${emp.ename}</td>
<td>${emp.job}</td>
<td>${emp.mgr}</td>
<td>${emp.hiredate}</td>
<td>${emp.sal}</td>
<td>${emp.comm}</td>
<td>${emp.deptno}</td>
<td><a href="jsp/dopreupdate.jsp?empno=${emp.empno}">修改</a>
<a href="jsp/dodel.jsp?empno=${emp.empno}%>">删除</a>
</td>
</tr>
</c:forEach> </tbody>
</table>
<c:if test="${pageIndex>1}"> <span>
<a href="jsp/dolist2.jsp?pageIndex=1">首页</a>
<a href="jsp/dolist2.jsp?pageIndex=${pageIndex-1}">上一页</a>
</span> </c:if> <c:if test="${pageIndex>1}">
<span>
<a href="jsp/dolist2.jsp?pageIndex=${pageIndex+1}">下一页</a>
<a href="jsp/dolist2.jsp?pageIndex=${totalPage}">尾页</a>
</span>
</c:if> <span>当前第${pageIndex}页</span>
<span>共${totalPage}页/${totalCount}记录</span>
</body>
</html>
改
改的话 多一步 因为 你要先根据条件从数据库查出你要改的那条记录
然后用一个页面接收 然后修改 提交 然后 再查一下表
list.jsp页面中添加一个连接
dopreupdate.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
<%@page import="com.user.service.impl.EmpServiceImpl"%> <%@page import="com.user.entity.Emp"%> <%@page import="com.user.service.EmpService"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'dopreupdate.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body > <% request.setCharacterEncoding("UTF-8"); String empnoStr = request.getParameter("empno"); int empno = Integer.parseInt(empnoStr); EmpService service= new EmpServiceImpl(); Emp emp =service.getEmpById(empno); request.setAttribute("emp", emp); request.getRequestDispatcher("preupdate.jsp").forward(request, response); %> </ body > </ html > |
将dopreupdate.jsp的代码 复制到
EmpServletQueryById.java
package com.user.servlet.emp; import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.user.entity.Emp;
import com.user.service.EmpService;
import com.user.service.impl.EmpServiceImpl; public class EmpServletQueryById extends HttpServlet { /**
* Constructor of the object.
*/
public EmpServletQueryById() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { request.setCharacterEncoding("UTF-8");
String empnoStr = request.getParameter("empno");
int empno = Integer.parseInt(empnoStr);
EmpService service= new EmpServiceImpl();
Emp emp =service.getEmpById(empno); request.setAttribute("emp", emp); request.getRequestDispatcher("preupdate.jsp").forward(request, response);
} /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request,response);
} /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }
preupdate.jsp
<%@page import="com.user.entity.Emp"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'preupdate.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<%
request.setCharacterEncoding("UTf-8");
Emp emp = (Emp)request.getAttribute("emp");
%>
<form action="EmpServletModify">
员工编号:<input name ="empno" disabled="disabled" value = "<%=emp.getEmpno() %>"/><br/>
员工姓名:<input name ="ename"value = "<%=emp.getEname()%>"/><br/>
员工工作:<input name ="job"value = "<%=emp.getEmpno() %>"/><br/>
经理编号:<input name ="mgr"value = "<%=emp.getMgr() %>"/><br/>
入职日期:<input name ="hiredate"value = "<%=emp.getHiredate() %>"/><br/>
薪水:<input name ="sal"value = "<%=emp.getSal()%>"/><br/>
津贴:<input name ="comm"value = "<%=emp.getComm() %>"/><br/>
部门编号:<input name ="deptno"value = "<%=emp.getDeptno() %>"/><br/>
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</form> </body>
</html>
doupdate.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
<%@page import="com.user.service.impl.EmpServiceImpl"%> <%@page import="com.user.service.EmpService"%> <%@page import="java.text.SimpleDateFormat"%> <%@page import="com.user.entity.Emp"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'doupdate.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body > <% request.setCharacterEncoding("UTF-8"); String empnoStr = request.getParameter("empno"); String ename = request.getParameter("ename"); String job = request.getParameter("job"); String mgrStr = request.getParameter("mgr"); String hiredateStr = request.getParameter("hiredate"); String salStr = request.getParameter("sal"); String commStr = request.getParameter("comm"); String deptnoStr = request.getParameter("deptno"); int empno =Integer.parseInt(empnoStr); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date hiredate =sdf.parse(hiredateStr); int mgr = Integer.parseInt(mgrStr); double sal = Double.parseDouble(salStr); double comm = Double.parseDouble(commStr); int deptno = Integer.parseInt(deptnoStr); Emp emp = new Emp(empno,ename, job, mgr, hiredate, sal, comm, deptno); EmpService service = new EmpServiceImpl(); boolean isUpdate = service.updateEmp(emp); request.getRequestDispatcher("dolist.jsp").forward(request, response); // if(){ // }else{ // } %> </ body > </ html > |
将doupdate的代码复制到
EmpServletModify.java
package com.user.servlet.emp; import java.io.IOException; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.user.entity.Emp;
import com.user.service.EmpService;
import com.user.service.impl.EmpServiceImpl; public class EmpServletModify extends HttpServlet { /**
* Constructor of the object.
*/
public EmpServletModify() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
request.setCharacterEncoding("UTF-8");
String empnoStr = request.getParameter("empno");
String ename = request.getParameter("ename");
String job = request.getParameter("job");
String mgrStr = request.getParameter("mgr");
String hiredateStr = request.getParameter("hiredate");
String salStr = request.getParameter("sal");
String commStr = request.getParameter("comm");
String deptnoStr = request.getParameter("deptno"); int empno =Integer.parseInt(empnoStr);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date hiredate=null;
try {
hiredate = sdf.parse(hiredateStr);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} int mgr = Integer.parseInt(mgrStr);
double sal = Double.parseDouble(salStr);
double comm = Double.parseDouble(commStr);
int deptno = Integer.parseInt(deptnoStr); Emp emp = new Emp(empno,ename, job, mgr, hiredate, sal, comm, deptno);
EmpService service = new EmpServiceImpl();
boolean isUpdate = service.updateEmp(emp);
request.getRequestDispatcher("EmpServlet").forward(request, response);
// if(){
// }else{
// } } /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { doGet(request,response);
} /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }
dolist.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<%@page import="com.user.entity.Emp"%> <%@page import="com.user.service.EmpService"%> <%@page import="com.user.service.impl.EmpServiceImpl"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> < html > < head > < base href="<%=basePath%>"> < title >My JSP 'dolist.jsp' starting page</ title > < meta http-equiv="pragma" content="no-cache"> < meta http-equiv="cache-control" content="no-cache"> < meta http-equiv="expires" content="0"> < meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> < meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </ head > < body > <% //设置前台页面参数 编码格式 request.setCharacterEncoding("UTF-8"); EmpService service =new EmpServiceImpl(); List< Emp >list=service.getEmpList(); //转发到list。jsp request.setAttribute("list", list); request.getRequestDispatcher("list.jsp").forward(request, response); %> </ body > </ html > |
EmpServlet.java替代dolist.jsp
EmpServlet.java
package com.user.servlet.emp;
/**
* EmpServlet是查
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.user.entity.Emp;
import com.user.service.EmpService;
import com.user.service.impl.EmpServiceImpl; public class EmpServlet extends HttpServlet { /**
* Constructor of the object.
*/
public EmpServlet() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { EmpService service= new EmpServiceImpl();
List<Emp> list = service.getEmpList(); //转发到list.jsp页面
request.setAttribute("list", list);
request.getRequestDispatcher("list.jsp")
.forward(request, response); } /**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response); } /**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
} }
list.jsp
<%@page import="com.user.entity.Emp"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'list.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<c:out value="123"></c:out> <a href="jsp/addEmp.jsp">新增雇员</a>
<table border="1px" cellpadding="3px" cellspacing="3px">
<thead>
<tr>
<td>雇员编号</td>
<td>雇员姓名</td>
<td>工作</td>
<td>经理编号</td>
<td>入职日期</td>
<td>薪水</td>
<td>津贴</td>
<td>部门编号</td>
<td>操作</td>
</tr>
</thead>
<tbody> %>
<c:forEach items="${list}" var="emp">
<tr> <td>${emp.empno}</td>
<td>${emp.ename}</td>
<td>${emp.job}</td>
<td>${emp.mgr}</td>
<td>${emp.hiredate}</td>
<td>${emp.sal}</td>
<td>${emp.comm}</td>
<td>${emp.deptno}</td>
<td><a href="jsp/dopreupdate.jsp?empno=${emp.empno}">修改</a>
<a href="jsp/dodel.jsp?empno=${emp.empno}%>">删除</a>
</td>
</tr>
</c:forEach> </tbody>
</table>
<c:if test="${pageIndex>1}"> <span>
<a href="jsp/dolist2.jsp?pageIndex=1">首页</a>
<a href="jsp/dolist2.jsp?pageIndex=${pageIndex-1}">上一页</a>
</span> </c:if> <c:if test="${pageIndex>1}">
<span>
<a href="jsp/dolist2.jsp?pageIndex=${pageIndex+1}">下一页</a>
<a href="jsp/dolist2.jsp?pageIndex=${totalPage}">尾页</a>
</span>
</c:if> <span>当前第${pageIndex}页</span>
<span>共${totalPage}页/${totalCount}记录</span>
</body>
</html>
登录
Login.jsp UserServlet.java(dologin.jsp)
成功 EmpServlet.java(dolist.jsp) list.jsp
失败 Login.jsp
查 EmpServlet.java(dolist.jsp) list.jsp
增 addEmp.jsp EmpServletAdd.java(doadd.jsp) EmpServlet.java(dolist.jsp) list.jsp
删 EmpServletDel.java(dodel.jsp) EmpServlet.java(dolist.jsp) list.jsp
改 EmpServletQueryById.java(dopreupdate.jsp) preupdate.jsp EmpServletModify.java(doupdate.jsp) EmpServlet.java(dolist.jsp) list.jsp
JAVAWEB 一一 userweb2(升级,servlet版,jstl和el)的更多相关文章
- JavaWeb学习篇之----自定义标签&&JSTL标签库详解
今天来看一下自定义标签的内容,自定义标签是JavaWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面 ...
- 【JavaWeb】学习笔记——Servlet、Filter、Listenter
Servlet Servlet 简介 Servlet 是 Java提供的一门动态web资源开发技术 Servlet 是JavaEE 规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Se ...
- NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
今天调试SSM框架项目后台JSOn接口,报出来一个让人迷惑的错误:NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config 上网查了一下别人的博 ...
- springMVC: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
springMVC开发web的时候,报错:java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config 原因:未引入jstl ...
- vs2008 试用版评估到期 vs2008试用版 升级正式版
心得: 解决Vs2008 试用版升级正式版 1.在控制面板里面找到vs2008的程序. 2.点击 更改删除按钮, 3.出现Vs2008的维护模式. 4.在此维护模式下,如果没有出现填写正版密匙的地方, ...
- Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config解决
出现这个问题往往伴随 HTTP-500错误 报错信息: HTTP Status - Handler processing failed; nested exception is java.lang. ...
- javax/servlet/jsp/jstl/core/Config
javax/servlet/jsp/jstl/core/Config springmvc出现的问题. 尝试了各种jar,问题依旧. DispatcherServlet配置如下. <bean id ...
- WARNING: Package of target [javax.servlet.jsp.jstl.core.LoopTagSupport$1Status@7439e436] or package of member [public int javax.servlet.jsp.jstl.core.LoopTagSupport$1Status.getIndex()] are excluded!
Struts2爆出045漏洞后,将struts版本升级到了2.3.32.但是在验证时发现有些jstl循环未出现预期的结果. debug发现,数据没有问题,断定是前端页面显示出了问题.根据日志信息WAR ...
- 解决NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
使用spring3.05 mvc进行开发,使用tomcat容器,通过url映射寻找view的时候,会报错NoClassDefFoundError: javax/servlet/jsp/jstl/cor ...
随机推荐
- 不曾忘记的Vue.js
马上2017年就结束了,虽然我因为目前的项目用不上你vue,但是我不曾忘记你,在时间缝隙的某一刹那,我再次将你拾起. vue.js全家桶:vue+ vuex+axios+vue-router+webp ...
- 普通数组和json数组的区别
PHP 数组 什么是数组? 数组是特殊的变量,它可以同时保存一个以上的值. 在 PHP 中创建数组 在 PHP 中, array() 函数用于创建数组 在 PHP 中,有三种数组类型: 索引数组 - ...
- word_宏示例
参考:https://jingyan.baidu.com/article/870c6fc3326588b03fe4beeb.html 内容自适应 Application.Browser.Target ...
- Struts2学习:interceptor(拦截器)的使用
对于需要登陆验证.权限验证等功能的网站,每一次请求,每一个action都写一段验证的代码,未免显得冗余且不易维护.struts2提供了拦截器interceptor,为这些页面提供一个切面,或者说公共组 ...
- Oracle12c Client安装出现"[INS-30131]"错误“请确保当前用户具有访问临时位置所需的权限”解决办法之完整版
管理工具>计算机管理>系统工具>共享文件夹>共享 右键单击“共享”>新建共享> 如果出现右键无法出现“新建共享”选项请"控制面板>所有控制面板项&g ...
- Maven私服仓库类型
1. 代理仓库(Proxy Repository) 顾名思义是代理第三方仓库的,如: maven-central nuget.org-proxy 版本策略(Version Policy): Relea ...
- 错误:SyntaxError: Missing parentheses in call to 'print'
1.Python3编译器使用print函数需加括弧 print(XXX) 而Python 2可以print XXX 2.Python3表示不等只能用"!=" 3.在python3中 ...
- SpringBoot 整合 devtools 实现热部署
来源:https://www.cnblogs.com/rcddup/p/7533125.html 一.添加 devtools 依赖 <!-- Spring boot 热部署 : 此热部署会遇到 ...
- leetcode1010
class Solution: def numPairsDivisibleBy60(self, time: 'List[int]') -> int: sums = 0 s = {} n = le ...
- 浅谈如何避免内存泄漏(out of memory)
1.在涉及使用Context时,对于生命周期比Activity长的对象应该使用Application的Context.凡是使用Context优先考虑Application的Context,当然它并不是 ...