servlet+jsp 增删改查

个人觉得这种模式是MVC模式

  1. 先写一个类,类里面有几个属性。
  2. 写一个接口。里面有增删改查的方法。                   (写在service里)
  3. 写一个类实现这个接口(实现里面的增删改查等操作)     (写在service里)
  4. 连接数据库
  5. 写 servlet操作,  处理增删改查的信息。
  6. Jsp页面  (写页面显示或者上传,添加的页面布局等)与servlet实现交互,从而实现以上功能。

增删改查具体实例如下————  具体代码:

XinxManager.java

package cn.hpu.service;

import java.util.List;

import cn.hpu.gu.Xinx;

//定义接口 增删改查,获取表单信息,通过id获取信息等方法

public interface XinxManager{

public List<Xinx>getXinxs();

public boolean add(Xinx xin);

public boolean  del(String id);

public boolean update( Xinx xin);

public boolean select(String name,String password);

public Xinx  getXinxById(String id);

}

//定义一个类实现这个接口的方法

XinxManagerImp.Java

package cn.hpu.service;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

import cn.hpu.gu.Xinx;

import cn.hpu.util.util;

import com.mysql.jdbc.PreparedStatement;

public class XinxManagerImp  implements XinxManager{

//增加

public boolean add(Xinx xin) {

boolean          flag  =  false;

//定义一个标志,赋值为false

Connection  conn = null;

PreparedStatement pst =null;

conn = util.getConnection();

String sql="insert into report( title,speaker ,address ,unit , time,content ,dateposted)values(?,?,?,?,?,?,?)";

//几个参数几个问号,这里id设置的是自增的所以没必要添加

try{

conn = util.getConnection();

pst = (PreparedStatement) conn.prepareStatement(sql);

//pst.setString(1, xin.getId());

//pst.setInt(1, xin.getId());

//get所要添加的信息,set到数据库对应的位置

pst.seString(, xin.getTitle());

pst.setString(2, xin.getSpeaker());

pst.setString(3, xin.getAddress());

pst.setString(4, xin.getUnit());

pst.setString(5, xin.getTime().toString());

pst.setString(6, xin.getContent());

pst.setString(7,xin.getDateposted().toString());

//executeUpdate(sql)是更新数据,

//返回int类型是返回的更新了多少行,也就是受影响的行数,如果为0,则表示无更新

int rows = pst.executeUpdate();

if(rows>0)

{

flag=true;

}

}catch (Exception e) {

e.printStackTrace();

}finally{

util.close(pst, conn);

}

return flag;        //返回flag方便后面的获取

}

//删除

public boolean del(String id) {

boolean   flag =  false;

Connection conn = null;

PreparedStatement pst = null;

conn = util.getConnection();

try{

String sql = "delete from report where id like?";

pst = (PreparedStatement) conn.prepareStatement(sql);

pst.setString(1, id);

int rows = pst.executeUpdate();

if(rows>0){

flag = true;

}

}catch (Exception e) {

e.printStackTrace();

}finally{

util.close(pst, conn);

}

return flag;

}

//查询

public List<Xinx> getXinxs() {

//用到了类型转换  (方法内定义的 public List<Xinx>getXinxs();)

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

Connection conn = null;

ResultSet rs = null;    //!!!!!!!

Statement stmt = null;

try{

conn =  util.getConnection();

String sql = "select * from report";

//创建Statement (Sql语句的执行环境)

stmt = conn.createStatement();

rs = stmt.executeQuery(sql);

//executeQuery(String sqlString)执行查询数据库的SQL,

//eg:SELECT语句,返回一个结果集(ResultSet)

while( rs.next()){     //!!!!

Xinx xin = new Xinx();

// 查询。类的所有成员信息都set出来

xin.setId(rs.getString("id"));

//解读一下,请求获取 字符串,然后都set出来

xin.setSpeaker(rs.getString("speaker"));               xin.setAddress(rs.getString("address"));

xin.setTitle(rs.getString("title"));

xin.setTime(rs.getString("time"));

xin.setContent(rs.getString("content"));

xin.setUnit(rs.getString("unit"));

xin.setDateposted(rs.getString("dateposted"));

list.add(xin);   //!!!!!!

}

}catch (Exception e) {

e.printStackTrace();

}finally{

util.close(rs, stmt, conn);

}

return list;

}

//修改

public boolean update(Xinx xin){

boolean flag = false;

Connection conn = null;

java.sql.PreparedStatement pst = null;

conn = util.getConnection();

String sql= "update report set title=?,speaker=?,address=?,unit=?,time=?,content=?,dateposted=? where id = "+xin.getId();     //where id = ?";  (两个是一个意思,自where后的东西,是可以替换的,下面会稍作修改,因为多了一个问号)

try{

pst = conn.prepareStatement(sql);

pst.setString(1, xin.getTitle());

pst.setString(2, xin.getSpeaker());

pst.setString(3, xin.getAddress());

pst.setString(4, xin.getUnit());

pst.setString(5, xin.getTime());

pst.setString(6, xin.getContent());

pst.setString(7, xin.getDateposted());

//如果不加这个会出错(Statement parameter 8 not set.)说为设置,所以如果用问号,那就几个问号,设计几个Statement parameter。

//pst.setString(8, xin.getId());

int  rows = pst.executeUpdate();

if(rows>0)

{flag = true;}

}catch (Exception e)

{

e.printStackTrace();

}

finally

{

util.close(pst, conn);

}

return flag;

}

//根据id查询它的所有信息

public  Xinx getXinxById(String id) {

Connection conn = null;

ResultSet  rs = null;

Statement   stmt = null;

Xinx xin = new Xinx();

try{

conn =  util.getConnection();

String sql = "select * from report where id ="+id;

stmt = conn.createStatement();

rs =  stmt.executeQuery(sql);

while(rs.next())

{

//测试一下看看获取id了木有

System.out.println(rs.getString("id")+"通过id查询信息");

if(rs.getString("id").equals(id)) {

//查询  显示出来

xin.setId(rs.getString("id"));

xin.setTitle(rs.getString("title"));

xin.setSpeaker(rs.getString("speaker"));

xin.setAddress(rs.getString("address"));

xin.setTime(rs.getString("time"));

xin.setContent(rs.getString("content"));

xin.setUnit(rs.getString("unit"));

xin.setDateposted(rs.getString("dateposted"));

}

}

}catch (Exception e)

{

e.printStackTrace();

}finally

{

util.close(rs, stmt, conn);

}

System.out.println(xin.getId());

return xin;

}

public boolean select(String name, String password) {

// TODO Auto-generated method stub

return false;

}

}

addServlet.java

package cn.hpu.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import cn.hpu.gu.Xinx;

import cn.hpu.service.XinxManager;

import cn.hpu.service.XinxManagerImp;

public class AddServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//防止中文乱码,这样最保险

response.setContentType("text/html;chartset=utf-8");

request.setCharacterEncoding("utf-8");

response.setCharacterEncoding("utf-8");

//   request.getParameter()获取jsp页面提交的数据

String  id = request.getParameter("id");

String title = request.getParameter("title");

String speaker = request.getParameter("speaker");

String address = request.getParameter("address");

String unit = request.getParameter("unit");

String time = request.getParameter("time");

String content = request.getParameter("content");

String dateposted = request.getParameter("dateposted");

Xinx xin = new Xinx();

//xin.setId(0);

xin.setTitle(title);

xin.setSpeaker(speaker);

xin.setAddress(address);

xin.setUnit(unit);

xin.setTime(time);

xin.setContent(content);

xin.setDateposted(dateposted);

XinxManager   xm = new XinxManagerImp();

boolean flag = xm.add(xin);

System.out.println("增加这里的"+flag);

if(flag == true )

//跟上面的意思是一样的if(flag)

{

//作用: 增加成功后会调到一个页面,显示出来

Xinx xin1 = xm.getXinxById(id);

//通过id获的这组信息,用setAttribute传到表单页面

request.setAttribute("xin1", xin);

//在     login1.jsp显示新添加的信息,这样一目了然

request.getRequestDispatcher("login1.jsp").forward(request, response);

/*或者直接跳到主页面

//request.setAttribute("param", "success");

System.out.println("添加成功");

//request.getRequestDispatcher("login.jsp").forward(request, response);

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>添加成功</TITLE></HEAD>");

out.println("  <BODY>");

out.println("添加成功!!!");

out.println("<a href = ‘login.jsp‘> 返回主页面</a>");

out.println("  </BODY>");

out.println("</HTML>");

out.flush();

out.close();

*/

}else {

//request.setAttribute("param", "failed");

System.out.println("添加失败");

//如果添加失败转发到原来的页面

request.getRequestDispatcher("add.jsp").forward(request, response);

}

}

}

<%@ page language="java" import="java.util.*,cn.hpu.gu.*" pageEncoding="utf-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

Login1.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>My JSP ‘login1.jsp‘ starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

<body>

<!--  修改成功! <a href="login.jsp">返回主界面</a>  -->

<h3>增加或者修改后的信息   | <a href="login.jsp">返回主界面</a>  </h3>

<table border="1" cellpadding="0" cellspacing="0" width="80%" align="center">

<tr>

<!--   <th>序号</th> -->

<th>题目</th>

<th>主讲</th>

<th>地址</th>

<th>主讲人单位</th>

<th>时间</th>

<th>内容</th>

<th>发布时间</th>

<th>操作</th>

</tr>

<%

//   XinxManager xm = new XinxManagerImp();

//  List<Xinx> list = xm.getXinxs();

//  if(list!=null)

// {

//    for(int i=0; i<list.size(); i++)

// {

//   Xinx xin = list.get(i);

Xinx  xin =(Xinx)request.getAttribute("xin1");

if(xin!=null)

{

%>

<tr>

<!--  <td><%=xin.getId()%></td> -->

<td><%=xin.getTitle() %></td>

<td><%=xin.getSpeaker() %></td>

<td><%=xin.getAddress()%></td>

<td><%=xin.getUnit() %></td>

<td><%=xin.getTime() %></td>

<td><%=xin.getContent() %></td>

<td><%=xin.getDateposted() %></td>

<td>

<a href="DelServlet?id=<%=xin.getId() %>">删除</a>

<a href="UpdateServlet1?id=<%=xin.getId() %>">修改</a>

<!-- 点击修改,执行UpdateServlet1,通过id获取要修改的信息 ,,,转到-->

</td>

</tr>

<%

//    }

}

%>

</table>

</body>

</html>

DelServlet.Java

package cn.hpu.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import cn.hpu.service.XinxManager;

import cn.hpu.service.XinxManagerImp;

public class DelServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String id = request.getParameter("id");

XinxManager  xm = new XinxManagerImp();

boolean flag = xm.del(id);

if(flag == true)

{

response.sendRedirect("login.jsp");

}

}

}

Search.java   查询的servlet

package cn.hpu.servlet;

import java.io.IOException;

import java.sql.ResultSet;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.omg.PortableServer.ForwardRequest;

import cn.hpu.gu.Xinx;

import cn.hpu.service.XinxManager;

import cn.hpu.service.XinxManagerImp;

public class Search extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

XinxManager xm = new XinxManagerImp();

List<Xinx>  list = xm.getXinxs();

request.setAttribute("list", list);

//转发

request.getRequestDispatcher("login.jsp").forward(request, response);

}

}

Login.jsp

<%@ page language="java" import="java.util.*,cn.hpu.gu.*" pageEncoding="utf-8"%>

<%@page import="cn.hpu.service.XinxManager"%>

<%@page import="cn.hpu.service.XinxManagerImp"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>管理员操作页面</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

<h2>管理信息</h2>

欢迎${sessionScope.loginuser}登陆

<!--

request.getSession().getAttribute() 与 ${sessionScope}  它们都是取值的,

前面的是java代码,写在java源文件中,或者jsp的<%%>中

后面的属于表达式,直接嵌在HTML代码中取值

-->

<a href="add.jsp">添加学生</a>  <a href = "index.jsp">退出</a>

<hr/>

<body>

<table border="1" cellpadding="0" cellspacing="0" width="80%" align="center">

<tr>

<!--   <th>序号</th> -->

<th>题目</th>

<th>主讲</th>

<th>地址</th>

<th>主讲人单位</th>

<th>时间</th>

<th>内容</th>

<th>发布时间</th>

<th>操作</th>

</tr>

<%

XinxManager xm = new XinxManagerImp();

List<Xinx> list = xm.getXinxs();

if(list!=null)

{

for(int i=0; i<list.size(); i++)

{

Xinx xin = list.get(i);

%>

<tr>

<!--  <td><%=xin.getId()%></td> -->

<td><%=xin.getTitle() %></td>

<td><%=xin.getSpeaker() %></td>

<td><%=xin.getAddress()%></td>

<td><%=xin.getUnit() %></td>

<td><%=xin.getTime() %></td>

<td><%=xin.getContent() %></td>

<td><%=xin.getDateposted() %></td>

<td>

<a href="DelServlet?id=<%=xin.getId() %>">删除</a>

<a href="UpdateServlet1?id=<%=xin.getId() %>">修改</a>

<!-- 点击修改,执行UpdateServlet1,通过id获取要修改的信息 ,,,转到-->

</td>

</tr>

<%

}

}

%>

</table>

</body>

</html>

UpdateServlet1.java

package cn.hpu.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import cn.hpu.gu.Xinx;

import cn.hpu.service.XinxManager;

import cn.hpu.service.XinxManagerImp;

public class UpdateServlet1 extends HttpServlet {

//通过login.jsp中的修改跳这,(获取数据库中要更改单的信息)

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//通过id获取要修改的信息

String id = request.getParameter("id");

XinxManager  xm = new XinxManagerImp();

System.out.println("获取数据库中要更新id的所有信息"+id);

//调用XinxManagerImp.java里的方法

Xinx  xin = xm.getXinxById(id);

if(xin != null)

{

//通过id获得的xin的信息用setAttribute方法穿到表单中

request.setAttribute("xin",xin);

//跳转到更改页面

request.getRequestDispatcher("update.jsp").forward(request, response);              }

}

}

update.jsp

<%@ page language="java" import="java.util.*,cn.hpu.gu.*" pageEncoding="utf-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<base href="<%=basePath%>">

<title>修改页面</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

</head>

<%

//表单中通过getAttribute获取setAttribute 传来的xin的信息

Xinx  xin =(Xinx)request.getAttribute("xin");

%>

<body>

<h1>修改信息</h1>

<hr/>

<!-- 然后用 xin.getSpeaker() 等分别获的各自对应位置的数据-->

<form action="UpdateServlet" method="post">

<table>

<!--让id跟着表单一快传过去,id设置了style="display: none;"表单页面中id被隐藏看不到-->

<inputname="id"type="text"value="<%=xin.getId()%>"style="display: none;"/>

<tr align="left"> <th> 题  目</th>

<th><input name="title" type="text" value="<%=xin.getTitle()%> "></th>

</tr>

<tr align="left"><th> 主  讲</th>

<th><input name="speaker" type="text"  value="<%=xin.getSpeaker() %>"></th>

</tr>

<tr align="left">

<th> 地  址</th> <th><input name="address" type="text" value="<%=xin.getAddress()%>"> </th>

</tr>

<tr align="left">

<th>主讲人单位</th> <th><input name="unit" type="text" value="<%=xin.getUnit() %> "></th>

</tr>

<tr align="left">

<th> 时  间</th> <th><input name="time" type="date" value="<%=xin.getTime() %> "></th>

</tr>

<tr align="left">

<th>  内  容</th> <th ><input name="content" type="text" value=" <%=xin.getContent() %> "></th>

</tr>

<tr align="left">

<th>发布时间</th> <th><input name="dateposted" type="date" value=" <%=xin.getDateposted() %>"></th>

</tr>

<tr align="left">

<th><input type="submit" value=" 修改" /></th>

</tr>

</table>

</form>

<!-- 在form表单中通过action="UpdateServlet" 将数据传到UpdateServlet中,,,转到-->

</body>

</html>

UpdateServlet.java

package cn.hpu.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import cn.hpu.gu.Xinx;

import cn.hpu.service.XinxManager;

import cn.hpu.service.XinxManagerImp;

public class UpdateServlet extends HttpServlet {

//进行数据库中信息修好,也就是重新获取修改后提交的信息

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;chartset=utf-8");

response.setCharacterEncoding("utf-8");

request.setCharacterEncoding("utf-8");

//request.getParameter()方法是 获取Http(这里是更改表单)提交过来的数据

String id = request.getParameter("id");

String title = request.getParameter("title");

String speaker = request.getParameter("speaker");

String address = request.getParameter("address");

String unit = request.getParameter("unit");

String time = request.getParameter("time");

String content = request.getParameter("content");

String dateposted = request.getParameter("dateposted");

XinxManager xm = new XinxManagerImp();

Xinx xin = new Xinx();

//将新数据set进去。。。

xin.setId(id);

xin.setTitle(title);

xin.setSpeaker(speaker);

xin.setAddress(address);

xin.setUnit(unit);

xin.setTime(time);

xin.setContent(content);

xin.setDateposted(dateposted);

//调用update(Xinx xin)方法{里面将get的新数据信息,再set到数据库中,从而完成修改}

boolean flag = xm.update(xin);

System.out.println("修改后提交的信息"+id);

if(flag == true)

{

//例子

//Student stu1 = sm.getStudentById(id);

//request.setAttribute("stu1",stu1);

Xinx xin1 = xm.getXinxById(id);

request.setAttribute("xin1", xin);

request.getRequestDispatcher("login1.jsp").forward(request, response);

System.out.println(xin.getId()+"9999999999999");

//request.getRequestDispatcher("login.jsp").forward(request, response);

}else

{

}

}

}

时间: 2024-11-02 23:39:02

servlet+jsp 增删改查的相关文章

最简单的jsp+servlet的增删改查代码

package ceet.ac.cn.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import ceet.ac.cn.model.Admin; public class AdminDao {

servlet的增删改查

这是一个简单的servlet增删改查界面 t3.sql数据库: /* SQLyog 企业版 - MySQL GUI v8.14 MySQL - 5.5.25a : Database - test ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @[email pr

一个Servlet处理增删改查的方法

处理的思路是在servlet中定义不同的增删改查方法,页面请求 的时候携带请求的参数,根据参数判断调用不同的方法. package cn.xm.small.Servlet; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import javax.servlet.ServletException; import javax.servlet.annotation.

利用Servlet的增删改查

真的,稳住,考上研,利用两年逆袭.一步一步来,实在不行,最后最差也不过就是就回家种地,想想也不错. 前期准备配置 建一个动态web项目 新建Dynamic Web ProjectFile->New->Other->Web->Dynamic Web Project 新建web.xml文件并新建几个包 开始写代码 在entity在新建两个类,User(用来登录)和Hero(用来增删改查) user表和用户表,代建. 数据库连接放util中包中 package util; import

Servlet简单增删改查

前台页面是别人给的. 例子: package cn.itcast.cus.dao; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.ResultSetHandler; import org.apache.commons.db

java web 中 JSP增删改查mySQL数据

先在workbench中新建一个schema 比如叫 javatemp 再右键shcema里面的table新建一个叫new_table的table 然后设置一下table里面有什么 如图 右键new_table 显示前100行 可以先往里面手动添加一些数据 数据库的就到这 然后打开J2EE 新建Dynamic web project 先导入连接mysql的驱动jar包 直接将jar包拖到WEB-INF下的lib目录 在webContent里新建读取数据库jsp文件 代码如下 <%@page im

JSP增删改查项目

首先先新建一个首页,index,jsp文件 然后编写index.jsp文件的代码: <% //第一.获取客户端传递过来的参数,(添加第几位) //本例:先忽略(但是这个思考的步骤是一定要存在的) //处理相关的业务逻辑,该干嘛就干嘛 //本例的逻辑就是取出所有的数据  //-->>访问数据库String username_str=request.getParameter("txtquery");%><form action="index.jsp&

JSP增删改查思路

1.建好你的数据库 1.有一个用户表,用来储存你用户信息 字段:id,username,password   表名:user 2.有一个学生表 字段:id,name,age,sex,gid,city 一:环境搭建 1.先建立一个web项目 2.在你webroot下的web-inf下的lib包中把你要用到的jar包放进去 3.你需要吧你的三层架构的包打出来 dao包里面放的是我们的接口数据(model) entity包放的是实体类(javaBean) Servlet包里面放的是(servlet--

富文本内容简单的的增删改查

由于html本身的textarea标签的文本编辑功能较为简单,不能设置文字的样式,因此需要富文本控件来增强textarea的功能.       一些常见的富文本控件有:UEditor.kindeditor.simditor.bootstrap-wysiwyg.wangEditor.CKEditor.tinymce,各有优缺点,网上也有对不介绍,不再赘述. 此处选用tinymce,因其兼容性较好,插入页面也较为简单,此外还有丰富的插件可以扩展功能. 首先,在页面上使用tinymce:1.引入js文