当前位置:网站首页>Employee information management system based on Web
Employee information management system based on Web
2022-07-26 10:13:00 【Yuyu fish】
Tips : When the article is finished , Directories can be generated automatically , How to generate it, please refer to the help document on the right
be based on web Simple information management system
- Preface
- One 、 Project requirements
- Two 、 Project structures,
- Construction of project directory
- 2. Project resource introduction
- 3. Database creation
- 4. Project development
- User logged in controller
- Imported with the above jar Verification code of file creation controller
- Paged query controller
- Pagination in jsp The core code in is implemented as follows
- page The core configuration information of the page
- Add employee's insertcontroller
- Modify employee information controller
- Query the information of a single employee controller
- Delete employee information contoller
- 3、 ... and 、 Project renderings
- summary
Preface
The project is based on jsp Basic small projects , It can realize login function and basic addition, deletion, modification and query .
One 、 Project requirements
1. Will be ready html Change the page to jsp.
2. Realize administrator login function , And apply permission verification .
3. Add, delete, modify and check employees .
4. Query employees using paged queries , And provide the home page , Tail page . page-up key , The next page .
Two 、 Project structures,
Construction of project directory
2. Project resource introduction
Create project import related jar file .
3. Database creation
4. Project development
Show only key code , Other codes poke me .
User logged in controller
The code is as follows ( Example ):
package com.controller;
import com.entity.EmpManager;
import com.service.EmpManagerService;
import com.service.impl.EmpManagerServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet(name = "EmpManagerLoginController",value = "/manager/loginController")
public class EmpManagerLoginController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1. Collect parameters
String username = request.getParameter("username");
String password = request.getParameter("password");
String inputVcode = request.getParameter("inputVcode");
//2. Verification code
String codes = (String)request.getSession().getAttribute("codes");
if(!inputVcode.isEmpty() && inputVcode.equalsIgnoreCase(codes)){
// Call business logic to realize login
EmpManagerService empManagerService = new EmpManagerServiceImpl();
EmpManager empManager = empManagerService.login(username,password);
if(empManager!=null){
// Login successful
// Stored in session Scope
HttpSession session = request.getSession();
session.setAttribute("empManager",empManager);
// Jump to query all controller
response.sendRedirect(request.getContextPath()+"/manager/safe/showall");
}else{
response.sendRedirect(request.getContextPath()+"/login.html");
}
}else{
// Error in captcha input , Go to the login page
response.sendRedirect(request.getContextPath()+"/login.html");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
Imported with the above jar Verification code of file creation controller
The code is as follows ( Example ):
package com.controller;
import cn.dsna.util.images.ValidateCode;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet(name = "CreateCodeController",value = "/createCode")
public class CreateCodeController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ValidateCode validateCode = new ValidateCode(200,30,4,10);
String codes = validateCode.getCode();
HttpSession session = request.getSession();
session.setAttribute("codes",codes);
validateCode.write(response.getOutputStream());
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
Paged query controller
package com.controller;
import com.entity.Emp;
import com.entity.Page;
import com.service.EmpService;
import com.service.impl.EmpServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@WebServlet(name = "ShowAllEmpController",value = "/manager/safe/showall")
public class ShowAllEmpController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String pageIndex = request.getParameter("pageIndex");
if(pageIndex == null){
pageIndex="1";
}
Page page = new Page(Integer.valueOf(pageIndex));
EmpService empService = new EmpServiceImpl();
List<Emp> emps = empService.selectAll(page);
request.setAttribute("emps",emps);
request.setAttribute("page",page);
request.getRequestDispatcher("/emplist.jsp").forward(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
Pagination in jsp The core code in is implemented as follows
<tr>
<td colspan="5" align="center">
<a href="<c:url context='${pageContext.request.contextPath}' value='/manager/safe/showall?pageIndex=1'/>"> home page </a>
<c:if test="${page.pageIndex > 1}">
<a href="<c:url context='${pageContext.request.contextPath}' value='/manager/safe/showall?pageIndex=${page.pageIndex - 1}' />"> The previous page </a>
</c:if>
<c:if test="${page.pageIndex==1}">
<a> The previous page </a>
</c:if>
<c:if test="${page.pageIndex < page.totalPages}">
<a href="<c:url context='${pageContext.request.contextPath}' value='/manager/safe/showall?pageIndex=${page.pageIndex + 1}' />"> The next page </a>
</c:if>
<c:if test="${page.pageIndex == page.totalPages}">
<a> The next page </a>
</c:if>
<a href="<c:url context='${pageContext.request.contextPath}' value='/manager/safe/showall?pageIndex=${page.totalPages}'/>"> Tail page </a>
</td>
</tr>
page The core configuration information of the page
public class Page {
private Integer pageIndex;// The current page number
private Integer pageSize;// Page size
private Integer totalCounts;// The total number of data
private Integer totalPages;// Total number of pages
private Integer startRows;// Start line
public Page(Integer pageIndex) {
this(pageIndex,5);
}
public Page(Integer pageIndex, Integer pageSize) {
this.pageIndex = pageIndex;
this.pageSize = pageSize;
this.setStartRows((pageIndex - 1) * pageSize);
}
public Integer getPageIndex() {
return pageIndex;
}
public void setPageIndex(Integer pageIndex) {
this.pageIndex = pageIndex;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public Integer getTotalCounts() {
return totalCounts;
}
public void setTotalCounts(Integer totalCounts) {
this.totalCounts = totalCounts;
this.setTotalPages(this.totalCounts % this.pageSize ==0? this.totalCounts / this.pageSize : this.totalCounts / this.pageSize + 1);
}
public Integer getTotalPages() {
return totalPages;
}
public void setTotalPages(Integer totalPages) {
this.totalPages = totalPages;
}
public Integer getStartRows() {
return startRows;
}
public void setStartRows(Integer startRows) {
this.startRows = startRows;
}
}
Add employee's insertcontroller
package com.controller;
import com.entity.Emp;
import com.service.EmpService;
import com.service.impl.EmpServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(value = "/manager/safe/insertemp")
public class InsertEmpController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name=req.getParameter("name");
Double salary=Double.valueOf(req.getParameter("salary"));
Integer age=Integer.valueOf(req.getParameter("age"));
Emp emp=new Emp(name,salary,age);
EmpService empService=new EmpServiceImpl();
empService.insert(emp);
resp.sendRedirect(req.getContextPath()+"/manager/safe/showall");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
}
Modify employee information controller
import com.entity.Emp;
import com.service.EmpService;
import com.service.impl.EmpServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "UpdateEmpController",value = "/manager/safe/updateEmp")
public class UpdateEmpController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Integer id = Integer.valueOf(request.getParameter("id"));
String name = request.getParameter("name");
Double salary = Double.valueOf(request.getParameter("salary"));
Integer age = Integer.valueOf(request.getParameter("age"));
Emp emp = new Emp(id,name,salary,age);
EmpService empService = new EmpServiceImpl();
empService.update(emp);
response.sendRedirect(request.getContextPath()+"/manager/safe/showall");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
Query the information of a single employee controller
package com.controller;
import com.entity.Emp;
import com.service.EmpService;
import com.service.impl.EmpServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "ShowEmpController",value = "/manager/safe/showEmp")
public class ShowEmpController extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Integer id = Integer.valueOf(request.getParameter("id"));
EmpService empService = new EmpServiceImpl();
Emp emp = empService.select(id);
request.setAttribute("emp",emp);
request.getRequestDispatcher("/UpdateEmp.jsp").forward(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
Delete employee information contoller
import com.service.EmpService;
import com.service.impl.EmpServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(value = "/manager/safe/deleteemp")
public class DeleteEmpController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int id=Integer.valueOf(req.getParameter("id"));
EmpService empService=new EmpServiceImpl();
empService.delete(id);
resp.sendRedirect(req.getContextPath()+"/manager/safe/showall");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
3、 ... and 、 Project renderings
summary
1. This is the chicken after learning web Basic knowledge is a simple web project .
2.page The logic of encapsulation is a little complicated , You need to calculate , Need to spend some time to taste carefully .
3.web The relevant path of the project can be omitted web.x Inside to configure , It's a little bit of a hassle . Can be directly in servlet Use notes inside @webServlet().
4. Don't panic when you report an error , Check it slowly , To correct . I'll come across this in the future bug It can be easily solved .
5. The first publication of chicken with vegetables , I hope you can support me more , If there is something wrong , I hope you can point out the exchange , Crab !
边栏推荐
- 数通基础-Telnet远程管理设备
- Installation and use of cocoapods
- Learning about opencv (1)
- Data communication foundation telnet remote management equipment
- Rowselection emptying in a-table
- 在.NET 6.0中配置WebHostBuilder
- Flutter event distribution
- Why does new public chain Aptos meet market expectations?
- 论文笔记(SESSION-BASED RECOMMENDATIONS WITHRECURRENT NEURAL NETWORKS)
- On the compilation of student management system of C language course (simple version)
猜你喜欢
PMM (percona monitoring and management) installation record
Production of a-modal drag function in antui
MySQL 5.7.25 source code installation record
Principle analysis and source code interpretation of service discovery
Flask framework beginner-03-template
分布式网络通信框架:本地服务怎么发布成RPC服务
Sqoop [environment setup 01] CentOS Linux release 7.5 installation configuration sqoop-1.4.7 resolve warnings and verify (attach sqoop 1 + sqoop 2 Latest installation package +mysql driver package res
数通基础-TCPIP参考模型
如何写一篇百万阅读量的文章
Uni app learning summary
随机推荐
Production of a-modal drag function in antui
SPARK中 DS V2 push down(下推)的一些说明
In Net 6.0
Force deduction DFS
Opencv image processing
云原生(三十六) | Kubernetes篇之Harbor入门和安装
万字详解“用知识图谱驱动企业业绩增长”
Mysql5.7.25 master-slave replication (one-way)
Rowselection emptying in a-table
Vectortilelayer replacement style
Vs Code configures go locale and successfully installs go related plug-ins in vscode problem: Tools failed to install
Session based recommendations with recurrent neural networks
服务发现原理分析与源码解读
The charm of SQL optimization! From 30248s to 0.001s
B站这个视频我是跪着看完的
[Qualcomm][Network] qti服务分析
Uniapp common error [wxml file compilation error]./pages/home/home Wxml and using MySQL front provided by phpstudy to establish an independent MySQL database and a detailed tutorial for independent da
Solve NPM -v sudden failure and no response
苹果独占鳌头,三星大举复兴,国产手机在高端市场颗粒无收
时间序列异常检测