1. 环境的搭建

软件

数据库  sql

myeclipse 8.0  tomcat 6.0

2. 安装完 myeclipse 配置下  部署tomcat 6.0

=1=》

=2=》  新建  jsp   工程

=3=》  新建  jsp  文件信息

启动服务并且部署

代码详情:

建立数据库

1.sql 数据库

CREATE TABLE [dbo].[test1](
[id] [int] IDENTITY(1,1) NOT NULL,
[tname] [char](10) NOT NULL,
[tband] [char](10) NOT NULL,
[tchangdi] [char](20) NOT NULL,
[tchangjia] [char](50) NOT NULL,
[beizhu] [char](50) NOT NULL
) ON [PRIMARY]

2.    用户各种字段   一般上和我们数据库字段相同

po/User.java

 package po;
public class User {
//ctrl+shift+s 再按+c +o +r 自动生成
//为了防止直接使用源数据 进行的误操作
int id;
String tname;
String tband;
String tchangdi;
String tchangjia;
String beizhu;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTname() {
return tname;
}
public void setTname(String tname) {
this.tname = tname;
}
public String getTband() {
return tband;
}
public void setTband(String tband) {
this.tband = tband;
}
public String getTchangdi() {
return tchangdi;
}
public void setTchangdi(String tchangdi) {
this.tchangdi = tchangdi;
}
public String getTchangjia() {
return tchangjia;
}
public void setTchangjia(String tchangjia) {
this.tchangjia = tchangjia;
}
public String getBeizhu() {
return beizhu;
}
public void setBeizhu(String beizhu) {
this.beizhu = beizhu;
}
public User(int id, String tname, String tband, String tchangdi,
String tchangjia, String beizhu) {
super();
this.id = id;
this.tname = tname;
this.tband = tband;
this.tchangdi = tchangdi;
this.tchangjia = tchangjia;
this.beizhu = beizhu;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
}

需要字段代码

3.由于每次使用都会需要调用连接数据库代码  ,所以把抽离出来

db/DbConn.java

 package db;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class DbConn { public static Connection getConn()
{
Connection con =null;
try {
// Class.forName("com.mysql.jdbc.Driver"); // 加载驱动程序
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch (ClassNotFoundException e) {
System.out.println("加载驱动程序错误" + e.getMessage());
} try {
// 创建连接 testdb是数据库名称 重点在此
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=mvce", "sa", "123456"); } catch (SQLException e) { System.out.println("数据库连接操作出错" + e.getMessage());
}
return con;
}
}

连接数据库代码

4.数据处理

 package dao;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; import db.DbConn;
import po.User; public class UserDAO { //增加 public int add(User u)
{
int n=0;
try {
// 创建连接 testdb是数据库名称
Connection con = DbConn.getConn(); // 创建声明SQL对象
Statement stm = con.createStatement();
// 执行SQL语句,得到结果集,结果集放到ResultSet对象中
String sql="insert into test1 values('"+u.getTname()+"','"+u.getTband()+"','"+u.getTchangdi()+"','"+u.getTchangjia()+"','"+u.getBeizhu()+"');";
n=stm.executeUpdate(sql);
} catch (SQLException e) { System.out.println("数据库操作出错" + e.getMessage());
}
return n;
}
}

数据库操作(增加)

5.设计add.jsp   (按照执行顺序)

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p>商品信息添加</p>
<form name="frm1" action="servlet/AddServlet">
<p>商品编号:
<label for="textfield"></label>
<input type="text" name="id" id="textfield" />
</p>
<p>商品名字:
<input type="text" name="tname" id="textfield2" />
</p>
<p>商品品牌:
<input type="text" name="tband" id="textfield3" />
</p>
<p>商品产地:
<input type="text" name="tchangdi" id="textfield4" />
</p>
<p>生产厂家:
<input type="text" name="tchangjia" id="textfield5" />
</p>
<p>备注:
<input type="text" name="tbeizhu" id="textfield5" />
</p> <p>&nbsp;</p>
<input type="submit" value="确定"/>
</form>
</body>
</html>

add 首页代码

6.AddServlet.jsp  这个文件一定要新建  ,不要拽,因为web.xml文件不会自动生成(严格来说新建的好)

 package servlet;

 import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import po.User; import dao.UserDAO;
import db.DbConn; public class AddServlet extends HttpServlet { /**
* Constructor of the object.
*/
public AddServlet() {
super();
} /**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} /**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//这样可以调用 可以和 提交方法无关 无论哪种提交都会处理一样的信息
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
// 获取提交的信息
String id=request.getParameter("id");
String tname=request.getParameter("tname");
String tband=request.getParameter("tband");
String tchangdi=request.getParameter("tchangdi");
String tchangjia=request.getParameter("tchangjia");
String tbeizhu=request.getParameter("tbeizhu"); //把获取的放进对象里面
// user 是各种数据字段
User u=new User();
u.setTname(tname);
u.setTband(tband);
u.setTchangdi(tchangdi);
u.setTchangjia(tchangjia);
u.setBeizhu(tbeizhu);
//新建数据处理对象 是为了调用这个UserDao 里面的 add 方法使用的 或其他方法使用的(增删改查登录等) 和数据库进行交互的的
UserDAO udao=new UserDAO();
//调用方法 成功返回1 不成功返回0
int n=udao.add(u);
if(n>0) {
out.println("tian success");
}
else
{
out.println("添加失败");
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void init() throws ServletException {
// Put your code here
} }

AddServlet

注意:由于myeclipse 软件, 我在 执行中遇到打不来add.jsp

原因:1.重新配置需要 需要重启下tomcat

2.http://   这个要加上   http://127.0.0.1:8080/js185567/add.jsp

jsp实现增加数据功能的更多相关文章

  1. 前端通信:ajax设计方案(十)--- 完善Promise A+规范,增加mock数据功能

    半年不迭代,迭代搞半年,说的就是我,这里有点尴尬了,直接进入主题吧 我记得在这篇博客的时候集成了Promise的,不过那个时候就简简单单的写了一点最基础,在一些特殊的case上,还是有点问题的,所以才 ...

  2. (MVC)javaBaen+jsp+servlet对数据的操作

    运用MVC对数据进行一些简单的处理,基本实现数据的增删改查,达到前端和后台的数据之间的交互. 1.开始界面 <%@page import="com.zdsofe.work.Studen ...

  3. [更新]跨平台物联网通讯框架 ServerSuperIO v1.2(SSIO),增加数据分发控制模式

    1.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO) 2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案 3.C#工业 ...

  4. 如何Windows分页控件中增加统计功能

    在我的博客里面,很多Winform程序里面都用到了分页处理,这样可以不管是在直接访问数据库的场景还是使用网络方式访问WCF服务获取数据,都能获得较好的效率,因此WInform程序里面的分页控件的使用是 ...

  5. 为ecshop红包增加”转赠”功能

    ecshop促销中使用红包激励用户购物,要想炒热活动,红包就需要有物以稀为贵的感觉.有人求有人送,这样红包之间的转赠有助于拉动第二梯队的顾客.但是如果已经把红包添加到自己的账户了怎么办?如果ecsho ...

  6. 给ecshop后台增加管理功能页面

    给ecshop后台增加管理功能页面 比如我们增加一个统计报表叫做 物流费用统计报表 放在后台“报表统计”栏目中 具体操作步骤: 第一步,我们要添加一个菜单到后台,然后设置语言项,最后设置权限,这样,后 ...

  7. 学习ASP.NET Core Razor 编程系列九——增加查询功能

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  8. FPA笔记三 数据功能的识别

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://welkinhu.blog.51cto.com/447606/115477     ...

  9. jsp实现翻页功能

    jsp实现翻页功能 要实现翻页功能,只需要设置一个pageIndex即可,然后每次加载页面时通过pageIndex去加载数据就行. 那么我们可以设置一个隐藏的input框,用于传递pageIndex给 ...

随机推荐

  1. 前端技术之:JS开发几个有意思的东东

    一. 查看性能分析报告 npm run build:prod --report ​ 二.vue ui工具 ​ ​ 三.vue-element-admin https://panjiachen.gite ...

  2. 让NOI Linux变得可用

    开始用NOI Linux-- 上古加阉割,还是32位,完全不可用的亚子-- 怎么办,我真的好想念16.04 于是就走上魔改之旅-- 一些神奇的操作 git 听说直接装的话会是上古版本 sudo add ...

  3. Java 博客系统 Tale

    Tale Tale的英文含义为故事,我相信每个坚持写Blog的人都是有故事的:中文你叫它 塌了 也无所谓 . Tale 使用了轻量级mvc框架 Blade 开发,默认主题使用了漂亮的 pinghsu, ...

  4. python入门递归之汉诺塔

    def hani(n,x,y,z): if n == 1 : print(x ,"-->",z) else: hani(n-1,x,z,y)#将n-1个盘子从x移到y pri ...

  5. windows下载安装swoole的方法

    windows下载安装swoole的方法先安装Cygwin 选择163镜像(速度非常快) add url http://mirrors.163.com/cygwin/ 然后安装gcc php pcre ...

  6. C# web项目中sql数据库转sqlite数据库

    最近做了一个小网站,用到了一个使用sql server 2005的.net cms系统,但是现在我所买虚拟主机的服务商,不给虚拟主机提供sql server服务了,那就转数据库吧,转啥好呢,思来想去, ...

  7. 网络编程--UDP通讯

    UTP传输 public class Send1 { public static void main(String[] args) throws Exception { Scanner sc=new ...

  8. java多线程回顾2:生命周期与控制

    1.  线程生命周期概述 线程的生命周期如下图: 2.  新建与就绪 当程序使用new关键字创建一个线程之后,线程就处于新建状态了.此时线程只是被分配了内存资源,初始化了成员变量. 当线程对象被调用了 ...

  9. BST的实现(二叉搜索树)

    void Inorder(struct Tree *T); //中序 void Preorder(struct Tree *T); //前序 void Postorder(struct Tree *T ...

  10. T-SQL, Part I: LIKE Pattern

    The basic usage of LIKE pattern: %: it would be placed at the end and/or the beginning of a string. ...