JSP动态员工登陆案例
package web; import java.io.IOException;
import java.io.PrintWriter;
import java.util.List; import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import dao.EmployeeDAO;
import entity.Employee; public class ActionServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 设置解码所使用的字符集,注意要与客户端保持一致
request.setCharacterEncoding("utf-8");
// 告诉浏览器,服务器返回的数据类型
// (通过设置content-type消息头的值)
response.setContentType("text/html;charset=utf-8");
String uri = request.getRequestURI();
String action = uri.substring(uri.lastIndexOf("/"), uri.lastIndexOf("."));
System.out.println(action);
if ("/list".equals(action)) {
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
// 访问数据库,获取所有员工信息
EmployeeDAO dao = new EmployeeDAO();
try {
List<Employee> employees = dao.findAll();
// 依据查询到的员工信息,输出表格
// 因为servlet不擅长生成页面,我们使用转发
// 交给JSP来生成页面
// 1.将处理结果绑定到request
request.setAttribute("employees", employees);
// 2.获取转发器
RequestDispatcher rd = request.getRequestDispatcher("listEmp.jsp");
// 3.转发
rd.forward(request, response);
} catch (Exception e) {
e.printStackTrace();
out.println("系统繁忙,稍后重试");
}
// 可以不调用close方法,容器会自动调用close方法。
out.close();
} else if ("/add".equals(action)) {
PrintWriter out = response.getWriter();
// 调用request对象提供的方法来读取请求参数值
String name = request.getParameter("name");
String salary = request.getParameter("salary");
String age = request.getParameter("age"); // 一般来说,服务器端应该对请求参数值做一些
// 合法性检查,比如检查姓名是否为空,这儿
// 暂时不做。 // 将员工信息插入到数据库
EmployeeDAO dao = new EmployeeDAO();
Employee e = new Employee();
e.setName(name);
e.setSalary(Double.parseDouble(salary));
e.setAge(Integer.parseInt(age));
try {
dao.save(e);
// 重定向
out.println("插入成功");
response.sendRedirect("list.do"); } catch (Exception e1) {
e1.printStackTrace();
out.println("<h1>系统繁忙,稍后重试</h1>");
}
// 关闭流。
out.close();
} else if ("/del".equals(action)) {
// 读取要删除员工的id
String id = request.getParameter("id");
EmployeeDAO dao = new EmployeeDAO();
PrintWriter pw = response.getWriter();
try {
dao.del(Integer.parseInt(id));
response.sendRedirect("list.do");
} catch (NumberFormatException e) {
e.printStackTrace();
pw.println("系统繁忙,稍后重试");
}
} else if ("/load".equals(action)) {
PrintWriter out = response.getWriter();
// 读取员工的id
String id = request.getParameter("id");
// 依据id访问数据库,获取员工信息
EmployeeDAO dao = new EmployeeDAO();
try {
Employee e = dao.findById(Integer.parseInt(id));
// 依据查询到的员工信息,生成表单
request.setAttribute("e", e);
request.getRequestDispatcher("updateEmp.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
out.println("系统繁忙,稍后再试!");
}
} else if ("/modify".equals(action)) {
PrintWriter writer = response.getWriter();
// 读取要修改的员工信息
String id = request.getParameter("id");
String name = request.getParameter("name");
String salary = request.getParameter("salary");
String age = request.getParameter("age");
Employee e = new Employee();
EmployeeDAO dao = new EmployeeDAO();
e.setId(Integer.parseInt(id));
e.setName(name);
e.setSalary(Double.parseDouble(salary));
e.setAge(Integer.parseInt(age)); try {
dao.modify(e);
response.sendRedirect("list.do");
} catch (Exception e1) {
e1.printStackTrace();
writer.println("系统繁忙,稍后在式");
}
}
}
} //properties
# connection parameters
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:xe
user=system
password=123456
# datasouce parameters
initSize=1
maxSize=2
JSP动态员工登陆案例的更多相关文章
- SSM整合Dubbo登陆案例
登陆案例 一.创建Service项目存放共同数据 1.1 创建实体类 private long id; private String loginName; private String userNa ...
- 09_android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
根据08_android入门_android-async-http开源项目介绍及使用方法的介绍,我们通过最常见的登陆案例进行介绍android-async-http开源项目中有关类的使用.希望对你学习 ...
- C#基础练习(事件登陆案例)
Form1的后台代码: namespace _08事件登陆案例 { public partial class Form1 : Form { public Form1() ...
- android 登陆案例_最终版本 sharedpreference
xml 与之前的登陆案例相同 java代码: package com.itheima.login; import java.util.Map; import com.itheima.login.ut ...
- JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
链接地址:http://www.cnblogs.com/dartagnan/archive/2011/03/25/2003426.html JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apa ...
- 09_android入门_採用android-async-http开源项目的GET方式或POST方式实现登陆案例
依据08_android入门_android-async-http开源项目介绍及用法的介绍,我们通过最常见的登陆案例进行介绍android-async-http开源项目中有关类的使用.希望对你学习an ...
- JSP制作简单登陆
JSP制作简单登陆界面 运行环境 eclipse+tomcat+MySQL 不知道的可以参考Jsp运行环境--Tomcat 项目列表 这里我先把jsp文件先放在Web-INF外面访问 需要建立的几个文 ...
- 编写jsp动态网页
默认情况下,jsp网页必须保存在TOMCAT_HOME/webapps 目录下才能被客户请求. JSP网页的主题仍然是html标签,在需要显示动态数据的地方添加<%%>标记,在其中编写合法 ...
- jsp动态图片页面基础
1. 什么是动态网页? 动态网页是指在服务器端运行的程序或者网页,它们会随不同客户.不同时间,返回不同的网页. 注意:在静态网页中插入flash ,虽然flash是在动的,但是并不是说这个网页就是动态 ...
随机推荐
- mybatis基础学习2---(resultType和resultMap的用法和区别)和setting的用法
1:resultType和resultMap两者只能有一个成立 2:resultMap可以解决复杂查询时的映射问题 3:使用 resultType使用 ------------------------ ...
- Python之xml文档及配置文件处理(ElementTree模块、ConfigParser模块)
本节内容 前言 XML处理模块 ConfigParser/configparser模块 总结 一.前言 我们在<中我们描述了Python数据持久化的大体概念和基本处理方式,通过这些知识点我们已经 ...
- 3. Longest Substring Without Repeating Characters - 最长无重复字符子串-Medium
Examples: Description: Given a string, find the length of the longest substring without repeating ch ...
- webpack使用总结
我们可以在js中引入样式文件 require('myStyle.css') 这时我们便需要引入相应的webpack loader来帮助我们解析这段代码. 一般来说需要引入css-loader和styl ...
- CSS3学习笔记(3)-CSS3边框
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
- 5.Redis常用命令:Hash
我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Age等.如果H ...
- WebService基础学习(三)—CXF
一.什么是CXF? Apache CXF = Celtix + Xfire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.Apache ...
- Android使用Path实现仿最新淘宝轮播广告底部弧形有锯齿的问题以及解决办法
在前面一篇博文<Android高仿京东淘宝自动无限循环轮播控件的实现思路和过程>中已经基本介绍了实现轮播广告的基本思路和过程,但是仔细观察淘宝的轮播广告栏,发现在轮播广告栏的底部有个小小的 ...
- SEO -- WordPress怎设置百度站长链接自动提交
百度站长平站更新了主动推送(实时)推送的方式,受到了广大站长的好评,但是对于使用WordPress的网站来说怎么设置自动提交呢,在这里介绍一种比较简单且有效的方法.我们可以使用 WP BaiDu Su ...
- mac下安装Java开发环境
1.安装JDK 打开网页,进入jdk官网下:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载后,进入finde ...