JSP中出现:Connection cannot be resolved to a type?
JSP中出现:Connection cannot be resolved to a type,原因是因为没有导入Connect这个类。按下面方法修改一下。
在jsp的开始导入jar:
<%@page import="java.sql.*" %>
<%@ page language="java" import="java.sql.*" 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>《title>查询信息的显示《/title></head>
<body>
<center>
<%
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String userName = "sa";
String userPwd = "sa";
//String dbName = "QueryResults";
String DBURL="jdbc:sqlserver://localhost:1433; DatabaseName=QueryResults";
Class.forName(driverName);
Connection con = DriverManager.getConnection(DBURL,userName,userPwd);
String sql = "select * from Stu";
PreparedStatement pstmt = con.preparedStatement(sql);
ResultSet rs = pstmt.executeQuery();
while(rs.next())
{
out.print("<br>用户名:"+rs.getString("Num")+"密码:"+rs.getString("Name"));
}
%>
</center>
</body>
</html>
JSP
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
重要功能
JSP2.0中的一个主要功能是JSP fragment,它的基本特点是可以使处理JSP的容器推迟评估JSP标记属性。我们知道一般JSP是首先评估JSP标记的属性,然后在处理JSP标记时使用这些属性,而JSP fragment提供了动态的属性。也就是说,这些属性在JSP处理其标记体时是可以被改变的。
JSP需要将这样的属性定义为 javax.servlet.jsp.tagext.JspFragment类型。当JSP标记设置成这种形式时,这种标记属性实际上的处理方法类似于标记体。在实现标记的程序中,标记属性可以被反复评估多次。这种用法称为JSP fragment。
JSP fragment还可以定义在一个SimpleTag处理程序中使用的自制标记动作。像前面例子说明的,getJspBody返回一个 JspFragment对象并可以在doTag方法中多次使用。需要注意的是,使用JSP fragment的JSP只能有一般的文本和JSP action,不能有scriptlet和scriptlet表达式。
技术强势
(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
技术弱势
(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
<%
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>My JSP 'lianjie.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>
<%
Connection conn=null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String strConn="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db_hx";
String strUser="sa";//用户名
String strPassword="sa";//密码
conn=DriverManager.getConnection(strConn,strUser,strPassword);
out.println("<h2>JDBC专用驱动程序连接数据库成功!</h2>");}
catch (ClassNotFoundException e){
out.println("a"+e.getMessage());}
catch (SQLException e){
out.println(e.getMessage());}
finally{
try {
if(conn!=null)
conn.close();}
catch(Exception e){}
}%>
</body>
</html>
JSP中出现:Connection cannot be resolved to a type是因为没有导入Connect这个类。
在jsp的开始导入jar:
<%@page import="java.sql.*" %>
<%@ page language="java" import="java.sql.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
《title>查询信息的显示《/title>
<%
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String userName = "sa";
String userPwd = "sa";
//String dbName = "QueryResults";
String DBURL="jdbc:sqlserver://localhost:1433; DatabaseName=QueryResults";
Class.forName(driverName);
Connection con = DriverManager.getConnection(DBURL,userName,userPwd);
String sql = "select * from Stu";
PreparedStatement pstmt = con.preparedStatement(sql);
ResultSet rs = pstmt.executeQuery();
while(rs.next())
{
out.print("
用户名:"+rs.getString("Num")+"密码:"+rs.getString("Name"));
}
%>