jsp--提交表单→插入数据库→成功后返回提示信息

2024-11-30 08:17:14
推荐回答(5个)
回答1:

jsp通过提交表单执行到的action直接操作service进而调用dao接口插入然后返回到servlet控制状态即可。

举例:

index.jsp页面代码如下: 

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%> 
<%@ page contentType="text/html;charset=utf-8"%> 
<%  
   request.setCharacterEncoding("UTF-8");  
   response.setCharacterEncoding("UTF-8");  
   response.setContentType("text/html; charset=utf-8");  
%>  
 
 
add message into table  
 
 
<% 
String id=request.getParameter("id"); //从表单获得 
String name=request.getParameter("name"); //从表单获得 
String sex=request.getParameter("sex"); //从表单获得 
String age=request.getParameter("age"); //从表单获得 

java.util.Date date=new java.util.Date(); 
String datetime=new Timestamp(date.getTime()).toString(); 
try 

/** 连接数据库参数 **/ 
String driverName = "com.mysql.jdbc.Driver"; //驱动名称 
String DBUser = "root"; //mysql用户名 
String DBPasswd = "123456"; //mysql密码 
String DBName = "html_db"; //数据库名 

String connUrl = "jdbc:mysql://localhost/" + DBName + "?user=" + DBUser + "&password=" + DBPasswd; 
Class.forName(driverName).newInstance(); 
Connection conn = DriverManager.getConnection(connUrl); 
Statement stmt = conn.createStatement(); 
stmt.executeQuery("SET NAMES UTF8"); 
String insert_sql = "insert into person_tb values('" + id + "','" + name + "','" + sex + "','" + age + "')"; 
String query_sql = "select * from person_tb"; 

try { 
stmt.execute(insert_sql); 
}catch(Exception e) { 
e.printStackTrace(); 

try { 
ResultSet rs = stmt.executeQuery(query_sql); 
while(rs.next()) { 
%> 
ID:<%=rs.getString("id")%>
 
姓名:<%=rs.getString("name")%>
 
性别:<%=rs.getString("sex")%>
 
年龄:<%=rs.getString("age")%>

 
<% 

}catch(Exception e) { 
e.printStackTrace(); 

//rs.close(); 
stmt.close(); 
conn.close(); 
}catch (Exception e) { 
e.printStackTrace(); 

%> 
 
 

界面显示查询结果

回答2:

直接提交表单到Servlet
然后在Servlet里处理表单穿进来的数据
使用一个模型类来操作数据库
然后判断是否成功插入数据到数据
把是否成功插入数据库 的状态设置到一个blooean的变量的里
然后把这个blooean的变量使用request.setAttribute()穿到jsp页面里
在jsp里设置用request.getAttribute读出这个属性
然后根据这个属性来显示是否成功把数据插入数据库(第一次打开页面的时候这个属性的值应该null 这里可以设置如果这个值是null 就什么都不做)

回答3:

一个曲线解决方法:条件重写向,在servlet中判断数据库IO是否成功,成功就跳转到一个页面上;不成功则跳到另外一个页面上。

回答4:

用ajax实现

回答5:

你想问什么?
就是提交表单,地址栏还不想变吗?