jsp+servlet实战项目
第一步:新建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"));
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="注册 »" />
<input type="button" class="button" value="登录 »" 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="登录 »" />
<input type="button" class="button" value="注册 »" 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="注册 »" />
<input type="button" class="button" value="登录 »" 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实战项目的更多相关文章
- Jsp&Servlet入门级项目全程实录第1讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.jdbc数据库连接(略) 2.登录表单 2.1设置内边距 <dir style="padding- ...
- Jsp&Servlet入门级项目全程实录第8讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.添加dao public int studentAdd(Connection con,Student studen ...
- Jsp&Servlet入门级项目全程实录第7讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.获取搜索条件值 function searchStudent(){ $('#dg').datagrid('load ...
- Jsp&Servlet入门级项目全程实录第4讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.添加搜索.添加.修改.删除按钮 <div id="tb"> <div> ...
- Jsp&Servlet入门级项目全程实录第3讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.建立数据表及数据(略) 2.装载驱动,建立数据表 <link rel="stylesheet&qu ...
- Jsp&Servlet入门级项目全程实录第2讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.导入jquery-easyui-1.3.3包( http://www.jeasyui.com/) 2.在页面导入e ...
- Jsp&Servlet入门级项目全程实录第6讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.建立数据表及数据(略) 2.创建student model package com.java1234.model; ...
- Jsp&Servlet入门级项目全程实录第5讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.修改功能实现 dao public int gradeAdd(Connection con,Grade grade ...
- JSP/Servlet Web应用中.properties文件的放置与读取
本地项目 在本地类库中,我经常使用当前目录来放置.properties文件,这时调用方只要引用我的jar,并且将我的.properties放在他的classpath里面即可,比如: p.load(ne ...
- Servlet MVC 项目实战实例
MVC的架构模式,一直是JavaEE开发中所遵循的标准,如今很多框架都已经很好的实现了MVC,像大家所熟知的Struts,SpringMVC,JSF等,但是如果没有任何框架的支持,仅仅通过JavaWe ...
随机推荐
- 苦苦搞了半个通宵才搞定的直接使用Sliverlight将文件PUT到阿里云OSS
为了公司的项目,小的我各种折腾啊,不过高兴的是实现了Silverlight直接提交至阿里云OSS的文件上传,文件上传再也不用通过服务器中转了. 研究SDK发现还有个Node-oss.js,但还没进行测 ...
- 微信小程序客服、支付、定位、下拉加载功能
一.客服功能 1.只要你微信小程序,后台添加了客服,引用以下button,就可以进入聊天(在小程序官网如何添加客服用户,请自行百度,谢谢) 2.通过按钮方式 <button open-type= ...
- 2020-10-23:go中channel的创建流程是什么?
福哥答案2020-10-23:1.元素大小是否小于2的16次方,否则throw.2.对齐检查,否则throw.3.元素大小和容量的乘积不能超出范围,否则panic.4.生成*hchan,设置buf.4 ...
- mysql报错Unknown collation: utf8mb4_0900_ai_ci
mysql报错Unknown collation: utf8mb4_0900_ai_ci 解决方案: 将文件内的所有 utf8mb4_0900_ai_ci 换成 utf8_general_ci utf ...
- Actor Prioritized Experience Replay
论文宗旨: 由于PER 是以TD-error成正比的非均匀概率进行抽样的,但是在AC算法中即连续动作空间中,会表现出低效果. 分析结果是:Actor不能有效的从high TD-error的transi ...
- 安装Visio 2013与原本的office冲突的最终解决方案
一. 下载office visio 2013 这个直接去网上下载一个安装包解压即可 或者直接云盘下载 https://pan.baidu.com/s/1jWGFoHAjegBBvyrL1rq4DQ 提 ...
- 如何更快的烹饪出美味的MOJO系列教程🔥之初识MOJO
MOJO基础入门<概述> 一,什么叫TMD的MOJO Mojo是一种编程语言,它与Python一样易于使用,但具有C++和Rust的性能.此外,Mojo提供了利用整个Python库生态系统 ...
- wireshark基本使用
Wireshark 是一种开源.跨平台的网络数据包分析工具,能够嗅探和调查实时流量并检查数据包捕获 (PCAP).它通常 被用作最好的数据包分析工具之一. 数据包过滤操作 ip过滤器 IP 过滤器帮助 ...
- 洛谷 P7579 「RdOI R2」称重(weigh) 题解
题意: 题目 一道交互题. 有 n 个球,里面有两个假球,假球比普通球的要轻,每次可以询问任意两组球的轻重关系,第一组轻为 < ,第二组轻为 > ,一样重量为 = . 思路: 先考虑在一个 ...
- ChatGPT在线体验原理课-概览:ChatGPT 与自然语言处理
# 概览:ChatGPT 与自然语言处理 本文将介绍 ChatGPT 与自然语言处理的相关知识. ## ChatGPT 与图灵测试 图灵测试是人工智能领域的一个经典问题,它旨在检验计算机是否能够表现出 ...