第一步:新建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. 2021-06-17:生成长度为size的达标数组,什么叫达标?达标:对于任意的 i<k<j,满足 [i] + [j] != [k] * 2。给定一个正数size,返回长度为size的达标数组。

    2021-06-17:生成长度为size的达标数组,什么叫达标?达标:对于任意的 i<k<j,满足 [i] + [j] != [k] * 2.给定一个正数size,返回长度为size的达标 ...

  2. 2021-11-11:打乱数组。给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。实现 Solution class:Solutio(int[] nums) 使用整数数组 nums

    2021-11-11:打乱数组.给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组.实现 Solution class:Solutio(int[] nums) 使用整数数组 nums ...

  3. django时区问题的解决

    django时区问题的解决  更新时间:2021年05月18日 09:37:58   作者:Silent丿丶黑羽     我们都知道时区,标准时区是UTC时区,django默认使用的就是UTC时区,我 ...

  4. 创建对象create()、批量创建bulk_create()、创建或更新update_or_create()、更新对象update()、更新或创建update_or_create()、删除对象delete()使用filter过滤、判断是否存在exists()、统计个数count()、聚合aggregate()

    创建对象create().批量创建bulk_create().创建或更新update_or_create().更新对象update().更新或创建update_or_create().删除对象dele ...

  5. Cannot apply DjangoModelPermissionsOrAnonReadOnly on a view that does not set `.queryset` or have a `.get_queryset()` method.

    这个问题是在使用 django REST 做自定义认证的时候出现的 解决方法是 在settings.py 中注释掉这个 REST_FRAMEWORK={ 'DEFAULT_PERMISSION_CLA ...

  6. 《数据结构(C语言版)》严蔚敏代码实现———链表

    一.前言 哈喽,大家好~我是熊子q,我又来了! 他来了他来了,他带着代码过来了! 今天要分享的代码是链表!快快搬着小板凳! 二.代码 严奶奶的书中预定义了一些预定义常量和类型,大家可以 新建一个y.h ...

  7. IntelliJ IDEA 的安装

    IntelliJ IDEA 的安装 安装之前参考Win10环境配置(二) --Java篇 1. 下载软件 官网: IntelliJ IDEA 分两个版本,学习Java下Community版 2.安装 ...

  8. 你是怎么学习 Java 技术的?

    一.Java 语言 Java 语言不只是一门语言. Java 学习不是一蹴而就就可以达成的,它是一个循序渐进,由浅入深,由表及里的过程.尤其需要注意的是不能有浅尝辄耻,不求甚解的态度.每个地方只抓一点 ...

  9. 如何吃透一个Java项目?

    现在Austin的文档我觉得还是比较全的,但到了看代码的时候,可能有的同学就不知道应该怎么看,有想知道模块之间的调用链路,有想一点一点把细节给全看了.这时候就很可能在项目里犯迷糊了,绕不出不来了. J ...

  10. ZYNQ 启动过程简介 以及 ZYNQ 裸机生成BOOT.BIN

    背景 下图是ZYNQ的启动过程 上电复位等完成后,先执行BootRom,然后再根据MIO设定的启动方式选择对应从哪里启动,无论从哪里启动,都需要一个BOOT.BIN文件,对于裸机程序来说: BOOT. ...