当前位置:首页 » 服务存储 » jsp数据存储应用
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

jsp数据存储应用

发布时间: 2022-05-07 12:55:19

‘壹’ 如何在jsp页面中做到读取数据和存入数据,主要是存取数据怎么 弄求高手赐教!!!

我知道的有四种:
1.pageContext :仅用于本页(我一般不用)
2.Request:用于本次请求,或请求转发时,相当于一次性的
3.Session:本次会话,比如用户登录,如果以后还要用用户名来做其他查询,就可以用Session存。如果把浏览器都关了,再重新登录,原来的Session就没了,重新记录
4.Application:与服务器共存,被所有用户共同使用,一般用来计数,比如访问人次。就是说浏览器关了再开,也不影响他的结果。相当于C语言中的静态变量

它们都有setAttribute("键","值"),getAttribute("键")两个方法
常用的为2,3个。

下面举个例子:
user类:id,password
index.jsp的部分代码:
<form name="form1" method=post action=input2.jsp>
<table width="160" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="5" class="nwes" height="36"></td>
<td width="56" class="font1" height="36">
<font color="#CFD1E8">用户ID</font>
</td>
<td>
<input type="text" name="id" size="15">
</td>
</tr>
<tr>
<td class="nwes" height="36"></td>
<td class="font1" height="36">
<font color="#CFD1E8">口 令</font>
</td>
<td>
<input type="password" name="password" size="15">
</td>
</tr>
<tr>
<td align="center">
<input type="submit" name="login" value="登录">
</td>
<td align="center">
<input type="reset" name="reset" value="重置">
</td>
</tr>
</table>
</form>

input2.jsp的部分代码:
<%
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
String pwd = request.getParameter("password");
BaseDAO bd = new BaseDAO();
//BaseDAO中有一些链接数据库的东西,我就不写了,不会的话我再给你发
String sql = "select * from teacher where id=? and password=?";
ArrayList<String> al = new ArrayList<String>();
al.add(id);
al.add(pwd);
ResultSet rs = bd.executeQuery(sql,al);
try {
if(rs.next()){
User loginUser = new User(id, pwd, type);
session.setAttribute("LOGIN_USER",loginUser);
//"LOGIN_USER"为你要存在session里的一个对象,是从loginUser中赋值过来的
response.sendRedirect("main_tea.jsp");
}else{
response.sendRedirect("login_failure.jsp");
}
} catch (Exception e) {
e.printStackTrace();
}
%>
当然也可以不用数据库,适当的删一些就可以了
我自己写的,纯属原创,希望对你有所帮助吧

‘贰’ 如何在jsp页面中实现点击一个提交按钮就可以将页面上的数据存储到对应的数据库中的表中

register.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>这是一个注册页面</title>
</head>
<body>
<center>
<form action="adser.jsp" method="post">
<table width="777" border="0" cellspacing="0" cellpadding="0" align="center" style="top: 131px; height: 30px;">
<tr>
<td align="left"><b><font size="3">用户序号:</font></b></td>
<td><input type="text" name="id" size="12"></td>
</tr>
<tr>
<td align="left"><b><font size="3">用户名:</font></b></td>
<td><input type="text" name="name" size="12"></td>
</tr>
<tr>
<td align="left"><b><font size="3">时间:</font></b></td>
<td><input type="date" name="date" size="12"></td>
</tr>
<tr>
<td align="left"><b><font size="3">发布内容:</font></b></td>
<textarea name="text" cols="40" rows="5">请在这里输入您要发布的内容</textarea>
</tr>
<tr><td><input type="submit" name="Submit" value="提交"></td></tr>
</table>
</form>
</center>
</body>
</html>

adser.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<jsp:useBean id="query" class="user.dbfunction" scope="page"></jsp:useBean>
<html>
<head>

<title>将用户信息加入数据库</title>

</head>
<body>
<%
String id = request.getParameter("id");
String name = request.getParameter("name");
String date = request.getParameter("date");
String text = request.getParameter("text");
ResultSet rs=null;
String str="select id,name,date,text from User where name='"+name+"';";
query.connect();
rs=query.select(str);
rs.last();
str="insert into User(id,name,date,text)values('"+id+"','"+name+"','"+date+"','"+text+"');";
query.update(str);
out.println("提交信息成功!");
out.print("本页面将在3秒后自动跳转到上一页面!");
out.print("<meta http-equiv="+"refresh"+" content=" +"3;url=register.jsp"+">");

%>
</body>
</html>

附加数据库操作类:
// 本类用来建立与数据库的连接
package user;
import java.sql.*;
public class dbfunction {
private static Connection con = null;
private static Statement stmt = null;
private static ResultSet rs = null;
public void connect(){
String url = "jdbc:mysql://localhost:3306/bookshop"; /在这里修改数据库名
try {
Class.forName("com.mysql.jdbc.Driver");/在这里修改数据库,我用的是Mysql
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
con= DriverManager.getConnection("jdbc:mysql://localhost:3306/bookshop?user=root&password=123456&useUnicode=true&characterEncoding=GB2312");/在这里修改数据库Mysql的信息
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public ResultSet select(String query)
{
System.out.println(query);
try {
stmt = con.createStatement();
rs = stmt.executeQuery(query);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
public void update(String upstr)
{
System.out.println(upstr);
try {
stmt = con.createStatement();
int rs = stmt.executeUpdate(upstr);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
public void close()
{
try {
stmt.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

我在我的机子上做了一遍可以,你试试吧。。。

‘叁’ JSP的数据储存

JSP的数据存储,一般想这样的Web程序,可以有很多方法来存储数据,比如用数据库,还有非常流行的XML等。

‘肆’ 如何在jsp页面中实现点击一个提交按钮就可以将页面上的数据存储到对应的数据库中

按照我的理解,你想要的效果应该是这样的:
点击页面的按钮,数据提交到后台并保存,页面不用刷新。

如果想做这个效果的话,方法有两种:
1.使用ajax来实现。
2.在本页内嵌一个iframe标记(并且使用css隐藏起来:display:none),你的页面任然用form提交,只是提交的target配置为你的iframe,那么你当点击提交时,当前页面内容页不会变化的。

‘伍’ jsp前台数据怎么传到后台的存储过程

使用request.getParameter("前台需要传递参数的name") 就可以获得前台数据了。然后调用方法,传人获得的参数就可以了。

‘陆’ 在jsp使用session保存数据

集合框架里有个类叫HashTable,用来存储键—值对的,正适合,将id 设为HashTable的键,总额值设为HashTable 的值...QQ:935545467。

‘柒’ 关于jsp存储数据问题

两种方法,
1.用session保存,而且是以session的ID做KEY,这样不会引起多用户访问时的冲突.
2.所有的页面放一个隐藏控件来保存这个时间,这样JSP转面时都可以在request中得到,用的时候拿来用就可以了

如果是要翻页功能,那就创建一个bean对象,保存一个用户的信息,
将多个用户的信息bean存在list中,你只要知道你翻页后,你要取第几个元素就可以将那个用户的信息在确认画面显示出来了

可能对楼主的要求理解有误,

以上如有问题,再联系

看看下面这个例子有没有帮助

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<script>
function fun(){
alert("1");
}
</script>
<BODY>
<form>
<input type="radio" name="radio" value="ok" onclick="fun();"><span onclick="fun();">click</span>
</form>
</BODY>
</HTML>

‘捌’ JSP技术有什么特征

1.2 JSP技术特征

JSP技术所开发的Web应用程序是基于Java的,它拥有Java语言跨平台的特性,以及业务代码分离、组件重用、基础Java Servlet功能和预编译等特征。

1.2.1 跨平台

既然JSP是基于Java语言的,那么它就可以使用Java API,所以它也是跨平台的,可以应用在不同的系统中,如Windows、Linux、Mac和Solaris等。这同时也拓宽了JSP可以使用的Web服务器的范围。另外,应用于不同操作系统的数据库也可以为JSP服务,JSP使用JDBC技术操作数据库,从而避免了代码移植导致更换数据库时的代码修改问题。

正是因为跨平台的特性,使得采用JSP技术开发的项目可以不加修改地应用到任何不同的平台上,这也应验了Java语言的"一次编写,到处运行"的特点。

1.2.2 业务代码分离

采用JSP技术开发的项目,通常使用HTML语言来设计和格式化静态页面的内容,而使用JSP标签和Java代码片段来实现动态部分。程序开发人员可以将业务处理代码全部放到JavaBean中,或者把业务处理代码交给Servlet、Struts等其他业务控制层来处理,从而实现业务代码从视图层分离。这样JSP页面只负责显示数据即可,当需要修改业务代码时,不会影响JSP页面的代码。

1.2.3 组件重用

JSP中可以使用JavaBean编写业务组件,也就是使用一个JavaBean类封装业务处理代码或者作为一个数据存储模型,在JSP页面甚至整个项目中都可以重复使用这个JavaBean。JavaBean也可以应用到其他Java应用程序中,包括桌面应用程序。

1.2.4 继承Java Servlet功能

Servlet是JSP出现之前的主要Java Web处理技术。它接受用户请求,在Servlet类中编写所有Java和HTML代码,然后通过输出流把结果页面返回给浏览器。其缺点是:在类中编写HTML代码非常不便,也不利于阅读。使用JSP技术之后,开发Web应用便变得相对简单快捷多了,并且JSP最终要编译成Servlet才能处理用户请求,因此我们说JSP拥有Servlet的所有功能和特性。

1.2.5 预编译

预编译就是在用户第一次通过浏览器访问JSP页面时,服务器将对JSP页面代码进行编译,并且仅执行一次编译。编译好的代码将被保存,在用户下一次访问时,直接执行编译好的代码。这样不仅节约了服务器的CPU资源,还大大提升了客户端的访问速度。

‘玖’ jsp如何存储一个表格的数据

你有用JS框架jquery/zepto等否?有就好办
var tbrows=$("table[name='表格名称'] tr").each(
function(i,trval){
var col1val=$(this).("#列1的td--input的ID值“).val();
var col2val=$(this).("#列2的td--input的ID值“).val();
var col3val=$(this).("#列3的td--input的ID值“).val();

alert(....); //测试这些值是否正确;
ajax(....); //通过ajax方法将数据发到数据库记录
}
);

‘拾’ jsp中表格数据存进数据库中

把以下代码保存成网页。由于网络字数限制,我就不排版了,你贴回去自己整理。注意,这只是我的JSP输出的HTML,只是个模型。但你观察以下里面的“name="account_seqN"”、“name="account_idN"”等参数名,大体思路也就出来了。只要你能让JSP产生这样的输出就差不多了,剩下的就只是提交后取参数的问题了。

<!--
Author:
Typhoon.Free.Wolf
Version:
2008-09-27-01
-->

<html>
<body>
<!--
Author:
Typhoon.Free.Wolf
Version:
2008-09-27-01
-->

<h1>帐号管理(正样<a href=".">.</a><a href="..">..</a>)</h1>
<ul>
<li><!--
Author:
Typhoon.Free.Wolf
Version:
2008-09-27-01
-->

<a href="../locale_mgr/action_aio.jsp?submit_for=list">客户端语言区域自动探测为“zh_CN”。</a><br>

</li>
<li><!--
Author:
Typhoon.Free.Wolf
Version:
2008-09-27-01
-->

<a href="../login_ctl/action_aio.jsp?submit_for=list">帐号ID“0”,用户名“root”,发呆7,200秒后自动踢你下线。</a><br>

</li>
<li><!--
Author:
Typhoon.Free.Wolf
Version:
2008-09-27-01
-->

<a href="../function_dsp/action_aio.jsp?submit_for=list">列出允许使用的功能。</a><br>

</li>
</ul>
--------------------<br>
<form action="action_aio.jsp" method="post">
<input type="hidden" name="submit_for" value="to_add" />
<input type="hidden" name="export_start_index" value="0" />
<input type="hidden" name="export_count_per_page" value="0" />
录入数量:
<input type="text" name="input_count" size="5" />
<input type="submit" value="开始录入" />
<input type="reset" value="重置" /><br>

</form>
--------------------<br>
<a href="action_aio.jsp?submit_for=list&export_start_index=0&export_count_per_page=0">内容列表</a><br>

========================================
<br>
<form action="action_aio.jsp" method="post">
<input type="hidden" name="submit_for" value="add" />
<input type="hidden" name="export_start_index" value="0" />
<input type="hidden" name="export_count_per_page" value="0" />
<input type="submit" value="确定录入" />
<input type="reset" value="重置" /><br>
<table border="1" width="100%">
<tr>

<th>
序号<br>
</th>
<th>
帐号ID<br>
</th>
<th>
用户名<br>
</th>

<th>
所属的组<br>
</th>
<th>
可用状态<br>
</th>
<th>
帐号口令<br>
</th>

<th>
该帐号备注<br>
</th>
</tr>

<tr>
<td align="center">
1<input type="hidden" name="account_seq0" value="0" /><br>
</td>

<td>
<input type="text" name="account_id0" /><br>
</td>
<td>
<input type="text" name="account_name0" /><br>
</td>
<td>
<select name="account_group_id0">
<option value="null">组之外</option>
<option value="8">8 - [\\''\\''\\'']</option>

<option value="3">3 - [adm]</option>
<option value="2">2 - [boss]</option>
<option value="1" selected="selected">1 - [mb]</option>
<option value="5">5 - [fin]</option>
<option value="10">10 - [group10]</option>
<option value="11">11 - [group11]</option>

<option value="12">12 - [group12]</option>
<option value="13">13 - [group13]</option>
<option value="14">14 - [group14]</option>
<option value="15">15 - [group15]</option>
<option value="7">7 - [group7]</option>
<option value="4">4 - [hr]</option>

<option value="6">6 - [prod]</option>
<option value="0">0 - [root]</option>
</select>
<br>
</td>
<td>
<select name="account_state0">
<option value="false">禁用</option>
<option value="true">启用</option>

</select>
</td>
<td>
<input type="text" name="account_passwd0" /><br>
</td>
<td>
<textarea name="account_remark0" rows="3" cols="16"></textarea><br>
</td>
</tr>

<tr>
<td align="center">
2<input type="hidden" name="account_seq1" value="1" /><br>
</td>
<td>
<input type="text" name="account_id1" /><br>
</td>
<td>
<input type="text" name="account_name1" /><br>
</td>

<td>
<select name="account_group_id1">
<option value="null">组之外</option>
<option value="8">8 - [\\''\\''\\'']</option>
<option value="3">3 - [adm]</option>
<option value="2">2 - [boss]</option>
<option value="1" selected="selected">1 - [mb]</option>

<option value="5">5 - [fin]</option>
<option value="10">10 - [group10]</option>
<option value="11">11 - [group11]</option>
<option value="12">12 - [group12]</option>
<option value="13">13 - [group13]</option>
<option value="14">14 - [group14]</option>

<option value="15">15 - [group15]</option>
<option value="7">7 - [group7]</option>
<option value="4">4 - [hr]</option>
<option value="6">6 - [prod]</option>
<option value="0">0 - [root]</option>
</select>
<br>

</td>
<td>
<select name="account_state1">
<option value="false">禁用</option>
<option value="true">启用</option>
</select>
</td>
<td>
<input type="text" name="account_passwd1" /><br>

</td>
<td>
<textarea name="account_remark1" rows="3" cols="16"></textarea><br>
</td>
</tr>

<tr>
<td align="center">
3<input type="hidden" name="account_seq2" value="2" /><br>

</td>
<td>
<input type="text" name="account_id2" /><br>
</td>
<td>
<input type="text" name="account_name2" /><br>
</td>
<td>
<select name="account_group_id2">
<option value="null">组之外</option>

<option value="8">8 - [\\''\\''\\'']</option>
<option value="3">3 - [adm]</option>
<option value="2">2 - [boss]</option>
<option value="1" selected="selected">1 - [mb]</option>
<option value="5">5 - [fin]</option>
<option value="10">10 - [group10]</option>

<option value="11">11 - [group11]</option>
<option value="12">12 - [group12]</option>
<option value="13">13 - [group13]</option>
<option value="14">14 - [group14]</option>
<option value="15">15 - [group15]</option>
<option value="7">7 - [group7]</option>

<option value="4">4 - [hr]</option>
<option value="6">6 - [prod]</option>
<option value="0">0 - [root]</option>
</select>
<br>
</td>
<td>
<select name="account_state2">
<option value="false">禁用</option>

<option value="true">启用</option>
</select>
</td>
<td>
<input type="text" name="account_passwd2" /><br>
</td>
<td>
<textarea name="account_remark2" rows="3" cols="16"></textarea><br>
</td>

</tr>

<tr>
<td align="center">
4<input type="hidden" name="account_seq3" value="3" /><br>
</td>
<td>
<input type="text" name="account_id3" /><br>
</td>
<td>

<input type="text" name="account_name3" /><br>
</td>
<td>
<select name="account_group_id3">
<option value="null">组之外</option>
<option value="8">8 - [\\''\\''\\'']</option>
<option value="3">3 - [adm]</option>
<option value="2">2 - [boss]</option>

<option value="1" selected="selected">1 - [mb]</option>
<option value="5">5 - [fin]</option>
<option value="10">10 - [group10]</option>
<option value="11">11 - [group11]</option>
<option value="12">12 - [group12]</option>
<option value="13">13 - [group13]</option>

<option value="14">14 - [group14]</option>
<option value="15">15 - [group15]</option>
<option value="7">7 - [group7]</option>
<option value="4">4 - [hr]</option>
<option value="6">6 - [prod]</option>
<option value="0">0 - [root]</option>

</select>
<br>
</td>
<td>
<select name="account_state3">
<option value="false">禁用</option>
<option value="true">启用</option>
</select>
</td>
<td>

<input type="text" name="account_passwd3" /><br>
</td>
<td>
<textarea name="account_remark3" rows="3" cols="16"></textarea><br>
</td>
</tr>

</table>
<input type="submit" value="确定录入" />
<input type="reset" value="重置" /><br>
<br>

</form>
----------------------------------------<br>
<!--
Author:
Typhoon.Free.Wolf
Version:
2008-09-27-01
-->

<table border="1" width="100%">
<tr>
<th style="vertical-align: top;">
结果:
</th>

<td>
7
</td>
</tr>
<tr>
<th style="vertical-align: top;">
摘要:
</th>
<td>
准备添加新帐号,转向“add.jsp”。
</td>
</tr>

</table>

</body>
</html>