创建数据库和表

首先,创建一个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)的更多相关文章

  1. JavaWeb学习篇之----自定义标签&&JSTL标签库详解

    今天来看一下自定义标签的内容,自定义标签是JavaWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面 ...

  2. 【JavaWeb】学习笔记——Servlet、Filter、Listenter

    Servlet Servlet 简介 Servlet 是 Java提供的一门动态web资源开发技术 Servlet 是JavaEE 规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Se ...

  3. NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config

    今天调试SSM框架项目后台JSOn接口,报出来一个让人迷惑的错误:NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config 上网查了一下别人的博 ...

  4. springMVC: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config

    springMVC开发web的时候,报错:java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config 原因:未引入jstl ...

  5. vs2008 试用版评估到期 vs2008试用版 升级正式版

    心得: 解决Vs2008 试用版升级正式版 1.在控制面板里面找到vs2008的程序. 2.点击 更改删除按钮, 3.出现Vs2008的维护模式. 4.在此维护模式下,如果没有出现填写正版密匙的地方, ...

  6. 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. ...

  7. javax/servlet/jsp/jstl/core/Config

    javax/servlet/jsp/jstl/core/Config springmvc出现的问题. 尝试了各种jar,问题依旧. DispatcherServlet配置如下. <bean id ...

  8. 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 ...

  9. 解决NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config

    使用spring3.05 mvc进行开发,使用tomcat容器,通过url映射寻找view的时候,会报错NoClassDefFoundError: javax/servlet/jsp/jstl/cor ...

随机推荐

  1. 不曾忘记的Vue.js

    马上2017年就结束了,虽然我因为目前的项目用不上你vue,但是我不曾忘记你,在时间缝隙的某一刹那,我再次将你拾起. vue.js全家桶:vue+ vuex+axios+vue-router+webp ...

  2. 普通数组和json数组的区别

    PHP 数组 什么是数组? 数组是特殊的变量,它可以同时保存一个以上的值. 在 PHP 中创建数组 在 PHP 中, array() 函数用于创建数组 在 PHP 中,有三种数组类型: 索引数组 - ...

  3. word_宏示例

    参考:https://jingyan.baidu.com/article/870c6fc3326588b03fe4beeb.html 内容自适应 Application.Browser.Target ...

  4. Struts2学习:interceptor(拦截器)的使用

    对于需要登陆验证.权限验证等功能的网站,每一次请求,每一个action都写一段验证的代码,未免显得冗余且不易维护.struts2提供了拦截器interceptor,为这些页面提供一个切面,或者说公共组 ...

  5. Oracle12c Client安装出现"[INS-30131]"错误“请确保当前用户具有访问临时位置所需的权限”解决办法之完整版

    管理工具>计算机管理>系统工具>共享文件夹>共享 右键单击“共享”>新建共享> 如果出现右键无法出现“新建共享”选项请"控制面板>所有控制面板项&g ...

  6. Maven私服仓库类型

    1. 代理仓库(Proxy Repository) 顾名思义是代理第三方仓库的,如: maven-central nuget.org-proxy 版本策略(Version Policy): Relea ...

  7. 错误:SyntaxError: Missing parentheses in call to 'print'

    1.Python3编译器使用print函数需加括弧 print(XXX) 而Python 2可以print XXX 2.Python3表示不等只能用"!=" 3.在python3中 ...

  8. SpringBoot 整合 devtools 实现热部署

    来源:https://www.cnblogs.com/rcddup/p/7533125.html 一.添加 devtools 依赖 <!-- Spring boot 热部署 : 此热部署会遇到 ...

  9. leetcode1010

    class Solution: def numPairsDivisibleBy60(self, time: 'List[int]') -> int: sums = 0 s = {} n = le ...

  10. 浅谈如何避免内存泄漏(out of memory)

    1.在涉及使用Context时,对于生命周期比Activity长的对象应该使用Application的Context.凡是使用Context优先考虑Application的Context,当然它并不是 ...