如何通过jsp页面上传文件然后在后台进行数据读取

通过jsp页面上传文件(.txt,.xml等)然后在后台进行数据读取,只用到servlet。如果好的话额外再给分... 通过jsp页面上传文件(.txt,.xml等)然后在后台进行数据读取,只用到servlet。如果好的话额外再给分 展开
 我来答
匿名用户
2013-06-23
展开全部
只用servlet?难道你想要自己写个文件上传实现?即使只用servlet,也得引第三方jar包,用struts不就行了吗,如果要strurs的,我再给你发到邮箱
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-23
展开全部
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>HealthSum1.jsp</title>

</head>
<%!//定义数据库驱动程序
String DBDRIVER = "com.mysql.jdbc.Driver";
//定义数据库连接地址
String DBURL = "jdbc:mysql://localhost:3306/hexie_quiz?user=root&password=1234&useUnicode=true&characterEncoding=UTF-8";
//数据库连接对象
Connection conn = null;
//定义Statement对象,用于操作数据库
PreparedStatement pstmt = null;
//定义一字符串变量,用于保存SQL语句
String sql = null;
//查询返回的结果集对象
ResultSet rs = null;
//单选按钮进行编号累加
int answer_index = 0;%>

<%
//1.加载数据库程序
try {
Class.forName(DBDRIVER);
} catch (Exception e) {
out.println("数据库加载出错!!!");
throw new RuntimeException("e.getMessage()");
}
//2.连接数据库
try {
conn = DriverManager.getConnection(DBURL);
} catch (Exception e) {
out.println("数据库连接失败!!!");
}
//3.操作数据库
//通过Connection对象实例化Statement对象
try {
//编写查询的sql语句
sql = " SELECT * FROM question where Fk_quiz_id = 1;";
pstmt = conn.prepareStatement(sql);

//查询数据库,此方法返回
rs = pstmt.executeQuery();
%>

<form id="myform" name="myform" method="post" action="HealthSum2.jsp">
<table>
<!-- 外循环,得auestion表的 questionname的值 -->
<%
while (rs.next()) {

int id = rs.getInt(1);
String questionname = rs.getString(2);
%>
<tr>
<td><%=questionname%></td>
</tr>

<!-- 内循环,得answer表的 answername的值 -->
<%
//search answers
//lable进行编号累加
int lable_index = 0;
String sql = "SELECT id,answername,value FROM answer a where fk_question_id="
+ id;
System.out.println(sql);
if (conn == null) {
System.out.println("conn is null....");
conn = DriverManager.getConnection(DBURL);
}

PreparedStatement query = conn.prepareStatement(sql);
ResultSet answer_r = query.executeQuery();
if (answer_r == null) {
System.out.println("null.....");
}
while (answer_r.next()) {
int aid = answer_r.getInt(1);
String answername = answer_r.getString(2);
String value = answer_r.getString(3);
%>
<tr>
<td class="input">
<input id="choose<%=answer_index%>" name="choose<%=answer_index%>"
type="radio" value="<%=value%>" />
<label id="lable<%=lable_index%>">
<%=answername%>
</label>
<%
lable_index++;
}
%>
<br>
<br>
</td>
</tr>

<%

answer_index++;
//归零
lable_index = 0;
}
%>
<%
} catch (Exception e) {
out.println("操作数据库失败!!!");
System.out.println(e.getMessage());
e.printStackTrace();
}
%>
</table>
<input value="下一步" type="submit"
style="margin: 10px 0 10px 0; height: 40px; width: 200px;"
onClick="return test()">
</form>
<%
//4.关闭数据库
try {
rs.close();
pstmt.close();
conn.close();
} catch (Exception e) {
out.println("数据库关闭失败!!!");
}

System.out.println(answer_index);
%>
-----》》》》问题卡在这里,验证有问题,想要的是所有raio都被选中,有一个没有选中,就弹出第几个没有选中,只有全部选中,才可以成功提交到下一个页面
<script language="javascript">function test(){
alert("START...");
if((document.getElementById("lable0").checked==false &&
(document.getElementById("lable1").checked==false &&
(document.getElementById("lable2").checked==false)){alert("请选择...");return false;}document.getElementById("myform").action="HealthSum2.jsp";}
</script>
<%
//归零
answer_index = 0;
%>
</html>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式