第一步:新建maven项目,项目中添加dao,entity,service,servlet,util包
第二步:导入依赖

第三步:数据库建表

第四步:entity实体包(疯转)

第五步:在util工具包中添加工具类

第六步:Dao包中创建Impl包,Impl包中放EmployeeDaoImpl类和UseDaoImpl类;Employee接口,UseDao接口

第七步:UseDao接口中写能实现登录和注册的方法

public Use findByUse(String username,String password)登录

public Integer register(Use use)(注册)

第八步:EmployeeDao接口写能实现增删改查的方法

public Integer addEmployee(Employee employee)

public Integer delById(Integer id)

public Integer updateEmployee(Employee employee)

public List<Employee>findall()

public Employee findbById(Integer id)

第九步:EmployeeDapImpl类(增删改查功能)

增public Integer addEmployee(Employee employee){

return supper . executeUpdate("insert into t_emolyee(name,salary,age)value(?,?,?)",new Object[]{

employee.getName();employee.getSalary(),employee.getAge()});}

删public Integer delById(Integer id){

return super.exectueUpdate("delete  from t_emolyee where id=?",new Objject [ ]{id});}

改public Integer updateEmployee(Employee employee){

return super.executeUpdate("update t_emolyee set name=?,salary=?,age=? where id=? ",new Object[]{

employee.getName();employee.getSalary(),employee.getAge(),employee.getId()});}

查public List<Employee>findall(){

List<Employee>list=new ArrayList<>();

String sql="select * from t_employee"

Object [] params=null;

rs=super.ececuteQuery(sql,params)'

try catch finally

while(rs.(next)){

Employee employee=new Employee();

employee . setId(rs.getInt("id"))

employee . setName(rs.getString("name"))

employee.setSalary(rs.getString("salary"))

employee. setAge(rs.getInt("age"))

list.add(employee)

return list;

查对象

public Employe findById(Integer id)

Employee employee=new Employee();

rs=super.ExecuteQuary("select * from t_employee where id=?",new Object []{id});

try catch finally

while (rs.next()){

employee.setId(rs.getInt("id"));

employee.setName(rs.getString("name"));

employee.setSalary(rs.getString("salary"));

employee.setAge(rs.getInt("age"));}

return employee;

第十步:UseDaoImpl类(实现登录和注册)

登录(去查询数据库的数据能否和username和passworad匹配)

public Use findByUse(String username,String password){

Use uu=null;

rs=super.executeQuary("select * from t_use where username=? and password=?",new Object[]{

username,pasword});

try catch finally

while(rs.next()){

uu=new Use()

uu.setUsername(rs.getString("username"));

uu.setRealname(rs.getString("realname"));
uu.setPaaword(rs.getString("password"));}

super.closecon

return uu;

注册(用添加方法。注册完成后,把注册的值传到数据库)

public Integer register(Use use){

return super.executeUpdate("insert into t_use(username,realname,password)value(?,?,?)",new Object[]{

use.getUsername(),use.getRealname(),use.getPassword});}

第十一步:

service包中添加Impl包包里放EmployeeServiceImpl类和UseServiceImpl类

service包中的EmployeeServiceImpl有一个EmployeeService接口

service包中的UseServiceImpl有一个UseService接口

接口中的方法与dao接口中的方法一致

第十二步:

在servlet包中添加Servlet 类型的UseServlet类和employeeServlet类

useServlet包:

public class UseServlet extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
UseServiceImpl usi=new UseServiceImpl();
String action=request.getParameter("action");
if (action.equals("register")){
String username = request.getParameter("username");
String realname = request.getParameter("realname");
String password = request.getParameter("password");
Use use=new Use();
use.setUsername(username);
use.setRealname(realname);
use.setPassword(password);
Integer flag = usi.register(use);
if (flag>0){
request.getRequestDispatcher("login.jsp").forward(request,response);
}
}else if (action.equals("login")){
String username=request.getParameter("username");
String password=request.getParameter("password");
Use use=usi.findByUse(username,password);
if (use!=null){
request.getRequestDispatcher("EmployeeServlet?action=employeeList").forward(request,response);
} } } }

第十二步:配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">

<servlet>
<servlet-name>EmployeeServlet</servlet-name>
<servlet-class>cn.kgc.servlet.EmployeeServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>UseServlet</servlet-name>
<servlet-class>cn.kgc.servlet.UseServlet</servlet-class>
</servlet>

因为有两个Servlet所以要写两个。上面都写各自的路径,下面都写各自的url名
<servlet-mapping>
<servlet-name>UseServlet</servlet-name>
<url-pattern>/UseServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>EmployeeServlet</servlet-name>
<url-pattern>/EmployeeServlet</url-pattern>
</servlet-mapping>

</web-app>

第十三步:

在webapp中导入css样式(样式是别人给的直接复制粘贴过来)

第十四步:建立register.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>regist</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/style.css" />
</head>
<body>
<div id="wrap">
<div id="top_content">
<div id="header">
<div id="rightheader">
<p>
2009/11/20
<br />
</p>
</div>
<div id="topheader">
<h1 id="title">
<a href="#">main</a>
</h1>
</div>
<div id="navigation">
</div>
</div>
<div id="content">
<p id="whereami">
</p>
<h1>
注册
</h1>
<form action="UseServlet?action=register" method="post">把在网页中获得的对象塞到servlet中的requestg中
<table cellpadding="0" cellspacing="0" border="0"
class="form_table">
<tr>
<td valign="middle" align="right">
用户名:
</td>
<td valign="middle" align="left">
<input type="text" class="inputgri" name="username" />
</td>
</tr>
<tr>
<td valign="middle" align="right">
真实姓名:
</td>
<td valign="middle" align="left">
<input type="text" class="inputgri" name="realname" />
</td>
</tr>
<tr>
<td valign="middle" align="right">
密码:
</td>
<td valign="middle" align="left">
<input type="password" class="inputgri" name="password" />
</td>
</tr>

</table>
<p>
<input type="submit" class="button" value="注册 &raquo;" />
<input type="button" class="button" value="登录 &raquo;" onclick="javascript:window.location.href='login.jsp'" />有一个跳转到登录界面的按钮
</p>
</form>
</div>
</div>
<div id="footer">
<div id="footer_bg">
ABC@126.com
</div>
</div>
</div>
</body>
</html>

第十五步 建立login . jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>login</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/style.css" />
</head>
<body>
<div id="wrap">
<div id="top_content">
<div id="header">
<div id="rightheader">
<p>
2009/11/20
<br />
</p>
</div>
<div id="topheader">
<h1 id="title">
<a href="#">main</a>
</h1>
</div>
<div id="navigation">
</div>
</div>
<div id="content">
<p id="whereami">
</p>
<h1>
登录
</h1>
<form action="UseServlet?action=login" method="post">
<table cellpadding="0" cellspacing="0" border="0"
class="form_table">
<tr>
<td valign="middle" align="right">
username:
</td>
<td valign="middle" align="left">
<input type="text" class="inputgri" name="username" />
</td>
</tr>
<tr>
<td valign="middle" align="right">
password:
</td>
<td valign="middle" align="left">
<input type="password" class="inputgri" name="password" />
</td>
</tr>
</table>
<p>
<input type="submit" class="button" value="登录 &raquo;" />
<input type="button" class="button" value="注册 &raquo;" onclick="javascript:window.location.href='register.jsp'" />
</p>
</form>
</div>
</div>
<div id="footer">
<div id="footer_bg">
ABC@126.com
</div>
</div>
</div>
</body>
</html>

第十六步:建立list.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>regist</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/style.css" />
</head>
<body>
<div id="wrap">
<div id="top_content">
<div id="header">
<div id="rightheader">
<p>
2009/11/20
<br />
</p>
</div>
<div id="topheader">
<h1 id="title">
<a href="#">main</a>
</h1>
</div>
<div id="navigation">
</div>
</div>
<div id="content">
<p id="whereami">
</p>
<h1>
注册
</h1>
<form action="UseServlet?action=register" method="post">
<table cellpadding="0" cellspacing="0" border="0"
class="form_table">
<tr>
<td valign="middle" align="right">
用户名:
</td>
<td valign="middle" align="left">
<input type="text" class="inputgri" name="username" />
</td>
</tr>
<tr>
<td valign="middle" align="right">
真实姓名:
</td>
<td valign="middle" align="left">
<input type="text" class="inputgri" name="realname" />
</td>
</tr>
<tr>
<td valign="middle" align="right">
密码:
</td>
<td valign="middle" align="left">
<input type="password" class="inputgri" name="password" />
</td>
</tr>

</table>
<p>
<input type="submit" class="button" value="注册 &raquo;" />
<input type="button" class="button" value="登录 &raquo;" onclick="javascript:window.location.href='login.jsp'" />
</p>
</form>
</div>
</div>
<div id="footer">
<div id="footer_bg">
ABC@126.com
</div>
</div>
</div>
</body>
</html>

第十七步.建立EmoployeeServlet类

public class EmployeeServlet extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
String action=request.getParameter("action");
if (action.equals("employeeList")){
EmployeeServiceImpl esi=new EmployeeServiceImpl();
List<Employee> list = esi.findAll();
request.setAttribute("list",list);
request.getRequestDispatcher("list.jsp").forward(request,response);
}
}
}

jsp+servlet实战项目的更多相关文章

  1. Jsp&Servlet入门级项目全程实录第1讲

    惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.jdbc数据库连接(略) 2.登录表单 2.1设置内边距 <dir style="padding- ...

  2. Jsp&Servlet入门级项目全程实录第8讲

    惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.添加dao public int studentAdd(Connection con,Student studen ...

  3. Jsp&Servlet入门级项目全程实录第7讲

    惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.获取搜索条件值 function searchStudent(){ $('#dg').datagrid('load ...

  4. Jsp&Servlet入门级项目全程实录第4讲

    惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.添加搜索.添加.修改.删除按钮 <div id="tb"> <div> ...

  5. Jsp&Servlet入门级项目全程实录第3讲

    惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.建立数据表及数据(略) 2.装载驱动,建立数据表 <link rel="stylesheet&qu ...

  6. Jsp&Servlet入门级项目全程实录第2讲

    惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.导入jquery-easyui-1.3.3包( http://www.jeasyui.com/) 2.在页面导入e ...

  7. Jsp&Servlet入门级项目全程实录第6讲

    惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.建立数据表及数据(略) 2.创建student model package com.java1234.model; ...

  8. Jsp&Servlet入门级项目全程实录第5讲

    惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.修改功能实现 dao public int gradeAdd(Connection con,Grade grade ...

  9. JSP/Servlet Web应用中.properties文件的放置与读取

    本地项目 在本地类库中,我经常使用当前目录来放置.properties文件,这时调用方只要引用我的jar,并且将我的.properties放在他的classpath里面即可,比如: p.load(ne ...

  10. Servlet MVC 项目实战实例

    MVC的架构模式,一直是JavaEE开发中所遵循的标准,如今很多框架都已经很好的实现了MVC,像大家所熟知的Struts,SpringMVC,JSF等,但是如果没有任何框架的支持,仅仅通过JavaWe ...

随机推荐

  1. 2022-08-26:用一个大小为 m x n 的二维网格 grid 表示一个箱子 你有 n 颗球。箱子的顶部和底部都是开着的。 箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角, 可以将球导

    2022-08-26:用一个大小为 m x n 的二维网格 grid 表示一个箱子 你有 n 颗球.箱子的顶部和底部都是开着的. 箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角, 可以将球导 ...

  2. 2022-02-28:k8s安装adminer,yaml如何写?

    2022-02-28:k8s安装adminer,yaml如何写? 答案2022-02-28: yaml如下: apiVersion: apps/v1 kind: Deployment metadata ...

  3. uni-app 背景图片

    背景图片 uni-app 支持使用在 css 里设置背景图片,使用方式与普通 web 项目大体相同,但需要注意以下几点: 支持 base64 格式图片. 支持网络路径图片. 小程序不支持在 css 中 ...

  4. Odoo-----计算字段、depnds,onchange 机制、模型约束

    1 计算字段和默认值问题 ​ 字段通过调用模型的方法的实时计算获得,一般都是 compute 属性为主的方法,这个计算方法通过计算self每条记录设置的的值,self 是一个有记录的有序集合,支持py ...

  5. 【jmeter】测试socket接口的简单应用

    一.场景 有一天开发问我,有没有什么工具可以测试socket,tcp,当时有点懵,这种需求还是少见 二.方法 使用Jmeter可以进行相关的测试 三.创建服务端环境 使用python搞个socket服 ...

  6. 为什么会出现 setTimeout 倒计时误差

    setTimeout 倒计时误差的出现主要与 JavaScript 的事件循环机制和计时器的执行方式有关. 在 JavaScript 中,事件循环是用于管理和调度代码执行的机制.setTimeout ...

  7. 如何在.net6webapi中配置Jwt实现鉴权验证

    JWT(Json Web Token) jwt是一种用于身份验证的开放标准,他可以在网络之间传递信息,jwt由三部分组成:头部,载荷,签名.头部包含了令牌的类型和加密算法,载荷包含了用户的信息,签名则 ...

  8. Java 设计模式实战系列—策略模式

    从优惠打折活动说起 电商平台为了增加销量经常搞一些活动,比如 618.双十一,还有一些节假日活动,根据销量的变化又经常更新不同的活动.最开始为了增加销量,全场都六折: // 打六折 public Bi ...

  9. Python运维开发之路《模块》

      一.模块 1. 模块初识 模块定义:模块(module),通常也被称为库(lib,library),是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中 ...

  10. JVM中的编译器

    JVM中集成了两种编译器,Client Compiler和Server Compiler,它们的作用也不同.Client Compiler注重启动速度和局部的优化,Server Compiler则更加 ...