Jsp总的来说,就是能在HTML页面上写Java代码的文件。下面是一个可以操作crud的员工信息管理的表格。
一.实体类
1.部门类
package com.java.Bean;
public class Dopt {
/*
* CREATE TABLE `dopt` (
`did` int(11) NOT NULL,
`dname` varchar(255) DEFAULT NULL,
`location` varchar(255) DEFAULT NULL,
PRIMARY KEY (`did`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
*/
private Integer did;
private String dname;
private String location;
public Dopt() {
super();
}
public Dopt(String dname, String location) {
super();
this.dname = dname;
this.location = location;
}
public Dopt(Integer did, String dname, String location) {
super();
this.did = did;
this.dname = dname;
this.location = location;
}
public Integer getDid() {
return did;
}
public void setDid(Integer did) {
this.did = did;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
@Override
public String toString() {
return "Dopt [did=" + did + ", dname=" + dname + ", location=" + location + "]";
}
}
2.员工实体类
package com.java.Bean;
public class Emp {
/*
* CREATE TABLE `emp` (
`eid` int(11) NOT NULL,
`ename` varchar(255) DEFAULT NULL,
`sal` int(11) DEFAULT NULL,
`mgr` varchar(255) DEFAULT NULL,
`did` int(11) DEFAULT NULL,
PRIMARY KEY (`eid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
* */
private Integer eid;
private String ename;
private Integer sal;
private String mgr;
private Integer did;
public Emp() {
super();
}
public Emp(String ename, Integer sal, String mgr, Integer did) {
super();
this.ename = ename;
this.sal = sal;
this.mgr = mgr;
this.did = did;
}
public Emp(Integer eid, String ename, Integer sal, String mgr, Integer did) {
super();
this.eid = eid;
this.ename = ename;
this.sal = sal;
this.mgr = mgr;
this.did = did;
}
public Integer getEid() {
return eid;
}
public void setEid(Integer eid) {
this.eid = eid;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public Integer getSal() {
return sal;
}
public void setSal(Integer sal) {
this.sal = sal;
}
public String getMgr() {
return mgr;
}
public void setMgr(String mgr) {
this.mgr = mgr;
}
public Integer getDid() {
return did;
}
public void setDid(Integer did) {
this.did = did;
}
@Override
public String toString() {
return "Emp [eid=" + eid + ", ename=" + ename + ", sal=" + sal + ", mgr=" + mgr + ", did=" + did + "]";
}
}
二.DButils类
package com.java.Utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBUtil {
private static final String URL="jdbc:mysql://localhost:3306/ccgl" ;
private static final String CHARSET="?useUnicode=true&characterEncoding=GBK" ;
private static final String USERNAME="root" ;
private static final String PASSWORD="root" ;
private static final String MYSQLDRIVER="com.mysql.jdbc.Driver";
private Connection connection;
//在静态代码块中加载驱动类
static {
try {
Class.forName(MYSQLDRIVER);
} catch (ClassNotFoundException e) {
// 类没有发现 异常
e.printStackTrace();
}
}
//定义方法获得链接对象,保证链接对象是唯一的
public void gertConnection() throws SQLException {
if(null==connection || connection.isClosed()) {
connection=DriverManager.getConnection(URL+CHARSET,USERNAME,PASSWORD);
}
}
/*操作数据库主要分为两种形式:
* 1.增,删,改。它们属于Update(更新)类型。返回值为int,说明数据库中被影响的行数。
* 2.查询。它属于Query(查询)类型。返回值为ResultSet,可以用于遍历查询到的数据。
* */
//增,删,改,用的都是这个更新方法。
public boolean common_update(Object[] obj,String sql) throws SQLException {
//获得操作数据库的链接对象。
this.gertConnection();
//通过链接对象得到预处理模板
PreparedStatement prepareStatement=connection.prepareStatement(sql);
//替换参数
for(int i=0;i<obj.length;i++) {
prepareStatement.setObject(i+1, obj[i]);
}
//执行sql
int result=prepareStatement.executeUpdate();
return result>0;
}
//分页查询的方法。
public ResultSet common_query(Object[] obj,String sql) throws SQLException {
//得到操作数据库的链接对象
this.gertConnection();
//得到预处理模板
PreparedStatement prepareStatement=connection.prepareStatement(sql);
//替换参数
for(int i=0;i<obj.length;i++) {
prepareStatement.setObject(i+1,obj[i]);
}
//执行sql
ResultSet resultSet=prepareStatement.executeQuery();
//返回结果集
return resultSet;
}
}
三.EmpDao类
package com.java.Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.java.Bean.Emp;
import com.java.Utils.DBUtil;
//该类主要是用于操作数据库的,通过方法直接操作于数据库,通常写sql语句。
public class EmpDao {
//增加数据的方法
public boolean common_add(Emp emp) throws SQLException {
//增添数据的sql语句
String add_sql="insert into emp(ename,sal,mgr,did) value(?,?,?,?)";
//用于替换参数的数组
Object[] obj= {emp.getEname(),emp.getSal(),emp.getMgr(),emp.getDid()};
//调用Dao层的方法
DBUtil dbUtil=new DBUtil();
boolean result=dbUtil.common_update(obj, add_sql);
return result;
}
//删除数据的方法,根据主键进行删除
public boolean common_delete(Emp emp) throws SQLException {
//增添数据的sql语句
String delete_sql="delete from emp where eid=?";
//用于替换参数的数组
Object[] obj= {emp.getEid()};
//调用Dao层的方法
DBUtil dbUtil=new DBUtil();
boolean result=dbUtil.common_update(obj, delete_sql);
return result;
}
//更新数据的方法,根据主键进行更新
public boolean common_update(Emp emp) throws SQLException {
//增添数据的sql语句
String update_sql="update emp set ename=?,sal=?,mgr=?,did=? where eid=?";
//用于替换参数的数组
Object[] obj= {emp.getEname(),emp.getSal(),emp.getMgr(),emp.getDid(),emp.getEid()};
//调用工具类中的方法
DBUtil dbUtil=new DBUtil();
boolean result=dbUtil.common_update(obj, update_sql);
return result;
}
//查询数据的方法,查询全部数据(分页)
public List<Emp> query_all(int pageNum,int pageSize ) throws SQLException {
//创建用于转载emp类型的集合
List<Emp> list=new ArrayList<Emp>();
//查询数据的语句
String query_all_sql="select * from emp limit ?,?";
//用于替换参数的数组
Object[] obj= {(pageNum-1)*pageSize,pageSize};//数据是从0开始查的,从0开始查,查5个
//调用工具类中的方法
DBUtil dbUtil=new DBUtil();
ResultSet resultSet=dbUtil.common_query(obj, query_all_sql);
//遍历结果集
while(resultSet.next()) {
Emp emp=new Emp();
emp.setDid(resultSet.getInt("eid"));
emp.setEname(resultSet.getString("ename"));
emp.setMgr(resultSet.getString("mgr"));
emp.setSal(resultSet.getInt("sal"));
emp.setEid(resultSet.getInt("eid"));
list.add(emp);
}
return list;
}
//查询一个emp的方法
public Emp get_one_emp(Emp emp) throws SQLException {
//创建一个用于返回的Emp对象
Emp emp_return=new Emp();
//指定sql语句
String get_one_emp_sql="select * from emp where eid=?";
Object[] obj= {emp.getEid()};
//调用工具类中的方法
DBUtil dbUtil=new DBUtil();
ResultSet resultSet=dbUtil.common_query(obj, get_one_emp_sql);
//遍历结果集
while(resultSet.next()) {
emp_return.setDid(resultSet.getInt("eid"));
emp_return.setEname(resultSet.getString("ename"));
emp_return.setMgr(resultSet.getString("mgr"));
emp_return.setSal(resultSet.getInt("sal"));
emp_return.setEid(resultSet.getInt("eid"));
}
return emp_return;
}
//统计数据一个几页(总页码数)
public int getPageSum(int pageSize) throws SQLException {
//定义计数器
int i=0;
//定义sql语句,查看数据的行数
String sql="select COUNT(*) from emp";
//定义替换参数的数组
Object[] obj= {};
//调用DBUtils中的方法
DBUtil dbUtil=new DBUtil();
ResultSet resultSet=dbUtil.common_query(obj, sql);
//遍历结果集
while(resultSet.next()) {
i=resultSet.getInt("COUNT(*)");
}
//进行数学计算,确定总页数,其中% 为取余符:7%2=1
return i%pageSize==0?i/pageSize:(i/pageSize)+1;
}
//进行批量删除的方法
public boolean pl_delete_emp(String str) throws SQLException {
//定义sql语句
String sql="delete from emp where eid in("+str+")";//采用字符串拼接的方式。
//定义替换参数的数组
Object[] obj= {};
//调用更新的方法
DBUtil dbUtil=new DBUtil();
boolean result=dbUtil.common_update(obj, sql);
return result;
}
}
四.EmpService类
package com.java.Service;
import java.sql.SQLException;
import java.util.List;
import com.java.Bean.Emp;
import com.java.Dao.EmpDao;
//该类通过调用Dao层方法,并向其传入参数,来获得返回结果
public class EmpService {
public static void main(String[] args) {
EmpService empService=new EmpService();
//调用添加方法
//empService.common_add();
//删除方法
//empService.common_delete();
//更新方法
//empService.common_update();
//查询方法
empService.query_all();
}
public void common_add() {
//创建对象,用于往数据库里存数据
Emp emp=new Emp("张三",100,"0000",10);
//调用Dao中的方法
EmpDao empDao=new EmpDao();
try {
empDao.common_add(emp);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void common_delete() {
//创建对象,用于删除数据
Emp emp=new Emp(2,"张三",100,"0000",10);
//调用Dao中的方法
EmpDao empDao=new EmpDao();
try {
empDao.common_delete(emp);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void common_update() {
//创建对象,用于更新数据
Emp emp=new Emp(3,"李四",200,"0010",10);
//调用Dao中的方法
EmpDao empDao=new EmpDao();
try {
empDao.common_update(emp);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void query_all() {
//创建对象,用于删除数据
Emp emp=new Emp(3,"李四",200,"0010",10);
//调用Dao中的方法
EmpDao empDao=new EmpDao();
List<Emp> list;
try {
list=empDao.query_all(1,5);
//对list集合进行遍历
for(Emp emp1:list) {
System.out.println(emp1);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
五.jsp页面
1.index页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>首页</title>
</head>
<body>
<!-- 当访问empmanager这个项目时,会自动访问首页
通常index只用于跳转,携带参数,在别的jsp页面进行数据处理
-->
<script>
<!--location.href=""在执行到这句代码的时候,会带着所传参数跳转到目标页面-->
location.href="get_emp.jsp?pageNum=1";
</script>
</body>
</html>
2.get页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 首页的跳转页面,用于数据处理,是一种特殊的jsp -->
<%@ page import="com.java.Dao.*"%>
<%@ page import="com.java.Bean.*"%>
<%@ page import="java.util.*"%>
<%
//用于书写java代码
String pageNum=request.getParameter("pageNum");
int pageSize=5;
EmpDao empDao=new EmpDao();
List<Emp> list=empDao.query_all(Integer.parseInt(pageNum),pageSize);
int pageSum=empDao.getPageSum(pageSize);
//对参数进行封装
request.setAttribute("list", list);
request.setAttribute("pageNum",pageNum);
request.setAttribute("pageSum",pageSum);
//进行转发请求,访问路径不变
request.getRequestDispatcher("show_emp.jsp").forward(request,response);
%>
3.show页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.java.Dao.*"%>
<%@ page import="com.java.Bean.*"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用于当作视图,显示数据</title>
<script src = "js/jquery-1.8.3.js"></script>
<script>
function delete_one_emp(eid){
if(confirm("是否删除")){
location.href="delete_emp.jsp?eid="+eid;
}
}
function update_emp(eid){
var url="update_emp.jsp?eid="+eid;
var name="修改员工信息";
var iHeight=300;
var iWidth=400;
var top=(window.screen.avaiHeight - 30 - iHeight) / 2;
var left=(window.screen.avaiWidth - 10 - iWidth) / 2;
window.open(url,name,"height="+iHeight+",width="+iWidth+",top="+top+",left="+left);
}
$(function(){
//注意在通过id或class获得标签时,一定要加#号!!!!!!!!!!!!!
$("#pl_delete").click(function(){
//构建一个待删除的数组
var pre_delete_arr=new Array();
//得到所有复选框的id
var checkbox_arr=$("input[id^=checkbox_]");//标签选择器,得到标签
//遍历各个复选框的状态,用增强for循环
for(var checkbox_one in checkbox_arr){
//如果复选框中的状态为true,就填加到待删除的数组中
if(checkbox_arr[checkbox_one].checked==true){
//得到当前标签内的id值
var pre_delete_id = checkbox_arr[checkbox_one].id;
//将id值用方法分割,得到int类型的常量。
var int_id=pre_delete_id.split("checkbox_")[1].trim();
//将有效id方法待删除的数组中,往数组中放数据用push()方法。
pre_delete_arr.push(int_id);
}
}
//确认是否删除
if(confirm("是否确定删除?")){
//进入批量删除的jsp页面,进行删除
//注意:在进行页面跳转的时候,一定要在页面名后加.jsp!!!!!!!!!!
location.href="pl_delete_emp.jsp?pre_delete_arr="+pre_delete_arr.toString();
}
})
})
//用ajax进行异步校验(查询操作)
$(function(){
$("#query_one_byAjax").blur(function(){
var input_value=$(this).val();
//进行输入值的校验
if(null==input_value || ""==input_value){
alert("请输入查询id");
return;
}
if(isNaN(input_value)){
alert("请输入正确的查询信息");
return;
}
$.ajax({
dateType:'json',
url:"query_one_byAjax.jsp?input_value="+input_value,
success:function(data){
alert("回调函数");
}
});
});
});
</script>
</head>
<body>
<!-- 标签内所有元素居中 -->
<center>
<b>请输入查询id:</b><input type="text" id="query_one_byAjax"/>
<table border=2px>
<captain><h1>员工信息表</h1></captain>
<tr>
<th>全选<input type="checkbox" id="select_all_checkbox"/></th>
<th>员工编号</th>
<th>员工姓名</th>
<th>员工薪水</th>
<th>员工经理编号</th>
<th>部门号</th>
<th>操作</th>
</tr>
<!-- 动态建表 将所需要建的行放入到for循环中,之后开始分解,把java代码放入到标签中,把表
拿出到java代码所存在的标签中-->
<%
List<Emp> list=(List<Emp>)request.getAttribute("list");
String pageNum_str=request.getAttribute("pageNum").toString();//getAttribute得到的是Object类型
Integer pageNum=Integer.parseInt(pageNum_str);
String pageSum=request.getAttribute("pageSum").toString();
for(Emp emp:list) {
%>
<tr id="<%=emp.getEid()%>">
<td><input type="checkbox" id="checkbox_<%=emp.getEid()%>"/></td>
<td><%=emp.getEid() %></td>
<td><%=emp.getEname() %></td>
<td><%=emp.getSal() %></td>
<td><%=emp.getMgr() %></td>
<td><%=emp.getDid() %></td>
<td>
<!-- 进行删除操作,就是按下按钮调用相应的函数,跳转到删除页面删除数据,在重新查询 -->
<input type="button" value="删除" onclick="delete_one_emp(<%=emp.getEid()%>)"/>
<!-- 进行修改操作,就是按下按钮调用相应的函数,打开一个新的窗口,并携带参数 -->
<input type="button" value="修改" onclick="update_emp(<%=emp.getEid()%>)"/>
</td>
</tr>
<%
}
%>
<!-- 进行翻页处理,这里不能用按钮的形式,而是要用简单超链接的方式,带着所选哟的参数跳转到查询数据的页面,
其实,原理就是按下超链接,跳转到查询页面调用函数。
-->
<tr>
<td colspan="5">
<a href="get_emp.jsp?pageNum=1">首页</a>
|
<a href="get_emp.jsp?pageNum=<%=pageNum-1 %>">前一页</a>
|
<a href="get_emp.jsp?pageNum=<%=pageNum+1 %>">后一页</a>
|
<a href="get_emp.jsp?pageNum=<%=pageSum%>">尾页</a>
<b>当前第:<%= pageNum %> 页,共 <%= pageSum %> 页</b>
<input type="button" value="批量删除" id="pl_delete"/>
</td>
</tr>
</table>
<%
//用全局对象application来计算访问次数
Object obj=application.getAttribute("visit_count");
//当第一次访问,发现没有这个visit_count这个key,那么就会生成这个key,并且对应的value为null。
if(null==obj||""==obj){
application.setAttribute("visit_count",1);//竟然在java代码中
}
else{
String visit_count_str = application.getAttribute("visit_count").toString();
int visit_count=Integer.parseInt(visit_count_str);
application.setAttribute("visit_count",visit_count+1);
}
%>
<h3>当前访问次数: <%= application.getAttribute("visit_count")%> 次</h3>
</center>
</body>
</html>
4.update_emp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.java.Dao.*" %>
<%@ page import="com.java.Bean.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>更新Emp</title>
</head>
<body>
<!-- 通过传进来的eid,进行数据库查询,将数据显示到当前页面中(表中) -->
<%
//获取被传入的eid值
String eid_str=request.getParameter("eid");
Integer eid=Integer.parseInt(eid_str);
//利用查询方法,查询指定的emp
EmpDao empDao=new EmpDao();
Emp emp=new Emp();
emp.setEid(eid);
Emp get_emp=empDao.get_one_emp(emp);
%>
<!-- 用form表单提交数据 -->
<center>
<form action="update_db.jsp">
<table >
<caption>修改员工信息表</caption>
<tr>
<td>员工编号</td>
<td><input type="text" name="emp_eid" value="<%=get_emp.getEid()%>" readonly="readonly"/></td>
<tr>
<tr>
<td>员工名</td>
<td><input type="text" name="emp_ename" value="<%=get_emp.getEname()%>"/></td>
<tr>
<tr>
<td>员工薪资</td>
<td><input type="text" name="emp_sal" value="<%=get_emp.getSal()%>"/></td>
<tr>
<tr>
<td>员工主任编号</td>
<td><input type="text" name="emp_mgr" value="<%=get_emp.getMgr()%>"/></td>
<tr>
<tr>
<td>员工部门号</td>
<td><input type="text" name="emp_did" value="<%=get_emp.getDid()%>"/></td>
<tr>
<tr>
<td colspan=2>
<input type="submit" value="修改"/>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
5.update_db页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.java.Bean.*" %>
<%@ page import="com.java.Dao.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 获取传进来的emp对象的各种属性 -->
<%
String eid_str=request.getParameter("emp_eid");
Integer eid=Integer.parseInt(eid_str);
String ename_str=request.getParameter("emp_ename");
String sal_str=request.getParameter("emp_sal");
Integer sal=Integer.parseInt(sal_str);
String mgr_str=request.getParameter("emp_mgr");
String did_str=request.getParameter("emp_did");
Integer did=Integer.parseInt(did_str);
//创建一个新的Emp对象,用于封装数据进行传参
Emp emp=new Emp();
emp.setEid(eid);
emp.setEname(ename_str);
emp.setSal(sal);
emp.setMgr(mgr_str);
emp.setDid(did);
EmpDao empDao=new EmpDao();
//调用EmpDao中的更新方法
boolean result=empDao.common_update(emp);
//根据不同的返回值在显示相应的提示信息
if(result){
//怎么才能直接更新原来的页面呢?
//window.opener.location.href=window.opener.location.href。
//out.write() 想当前页面输出script代码并运行。
out.write("<script>alert('更新成功');window.opener.location.href=window.opener.location.href;window.close();</script>");
}else{
out.write("<script>alert('更新失败');location.href='index.jsp';</script>");
}
%>
</body>
</html>
6.delete_emp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.java.Dao.*" %>
<%@ page import="com.java.Bean.*" %>>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>删除一个emp</title>
</head>
<body>
<!-- 调用以写好的删除数据的方法 -->
<%
String eid_str=request.getParameter("eid");
Integer eid=Integer.parseInt(eid_str);
EmpDao empDao=new EmpDao();
Emp emp=new Emp();
emp.setEid(eid);
boolean result=empDao.common_delete(emp);
//删除之后自动在次载入页面
if(result){
out.write("<script>alert('删除成功');location.href='index.jsp';</script>");
}
else{
out.write("<script> alert('删除失败');location.href='index.jsp';</script>");
}
%>
</body>
</html>
7.pl_delete_emp页面
扫描二维码关注公众号,回复:
3034541 查看本文章
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.java.Dao.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>批量删除的jsp</title>
</head>
<body>
<%
System.out.println("1111");
//获取show传来的值
String pre_delete_arr=request.getParameter("pre_delete_arr");
//调用EmpDao中的方法
EmpDao empDao=new EmpDao();
boolean result=empDao.pl_delete_emp(pre_delete_arr);
//判断是否删除成功
if(result){
System.out.println("11");
out.write("<script>alert('批量删除成功');location.href='index.jsp';window.close();</script>");
}else{
out.write("<script>alert('批量删除失败');location.href='index.jsp';window.close();</script>");
}
%>
</body>
</html>
8.query_one_byAjax页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.java.Dao.*" %>
<%@ page import="com.java.Bean.*" %>
<%@ page import="net.sf.json.JSONObject" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//获得所传入的int 值
int eid=Integer.parseInt(request.getParameter("eid"));
//用dao中查询一个的方法进行查询
EmpDao empDao=new EmpDao();
Emp emp=new Emp();
emp.setEid(eid);
Emp emp_result=empDao.get_one_emp(emp);
//这是一个对象,要将对象类型,变成json数据类型,但是,对象还是对象,只是显示的格式改变了
//无法将java的对象作为返回值交给ajax
System.out.println("java对象格式的emp="+emp_result);
//将对象格式,转换为json格式
JSONObject json_emp_result = JSONObject.fromObject(emp_result);
System.out.println("转换为json的emp="+json_emp_result);
out.write(json_emp_result.toString());
%>
</body>
</html>