现在的位置: 首页 > 综合 > 正文

JSP探索

2018年05月14日 ⁄ 综合 ⁄ 共 4409字 ⁄ 字号 评论关闭

 

配置JRE/JDK Tomcat 以及 MyEclipse ,先说说这几者关系,JRE是最基层的,是Java相关程序运行平台,依赖于它的有开发环境MyEclipse、JDK、待Java应用程序、Tomcat服务器。JDK为开发包,包含Java类库及源代码相关内容,依赖于它的有MyEclipse,Tomcat为JSP服务器/Javabean等容器,依赖于它的有MyEclipse,非必需的依赖。
下载JDK及MyEclipse
(JDK )
(Tomcat)
(MyEclipse)
安装JDK后安装Tomcat及MyEclipse
运行MyEclipse

图片

配置MyEclipse服务器

点菜单MyEclipse->Preferences在窗口左侧树列表选择“MyEclipse->Servers->Tomcat->Tomcat 6.x

图片

Enable一下,然后选择Tomcat安装目录

”

图片

Apply->OK

关闭MyEclipse 打开记事本Notepad++

在C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps创建Test文件夹

编写代码

<%@ page language="java" import="java.util.*"%>
<%
String s = "Hello";
%>
<html>
<center><H1><%=s%></H1></center>
</html>

图片

保存文件为index.jsp

打开IE或FF输入http://localhost:8080/Test/index.jsp

图片

不知通过上例有何启发~~谢谢联想

来一点摩卡&甜点

创建Access数据库,创建方法谷歌或百度知道

数据库文件名为Test.mdb,包含一个表,名为Staff,其中两个字段StaffID(String(50),KEY),Name(String(50))



图片

图片

该文件存放在和index.jsp相同文件夹即可。

打开记事本或Notepad++,我这是Notepad++,推荐用这个。

编辑刚才的index.jsp

<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<%@ page import = "java.sql.*"%>

<html>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //绕口令
String dbDriver = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
String dbFile = application.getRealPath("Test.mdb");
dbDriver += dbFile;
%>
<center><H1><%=dbDriver%></H1></center>
</html>

Ctrl+S保存文件,打开浏览器看一下效果,http://localhost:8080/Test/index.jsp

图片

继续喝咖啡

<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<%@ page import = "java.sql.*"%>

<html>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //绕口令
String dbDriver = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
String dbFile = application.getRealPath("Test.mdb");
dbDriver += dbFile;
Connection conn = DriverManager.getConnection(dbDriver);
Statement stat = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "select * from Staff";
ResultSet rs = stat.executeQuery(sql);
while (rs.next())
{
%>

工号:<%=rs.getString(1)%>
姓名:<%=rs.getString(2)%>
<br>
<%
}
//rs stat conn等是否需要显式关闭,我还不确定,待查文档或请知道童鞋解答
%>

</html>

图片



删除原有<center><H1><%=dbDriver%></H1></center>,这个仅作测试用。图片

下面继续

在上述的代码里加点花添加查询条件功能,实质就是增加一个提交表单,实现向查询页面传参功能。

在<%%>JSP代码开头,加入如下代码

request.setCharacterEncoding("gb2312");
String name = request.getParameter("Name");

在<html></html>中加入如下代码

<form method = "post" action = "query.jsp">
<input type = "text" name = "Name" id = "name">
<input type = "submit" name = "Submit">
</form>

讲一下这几段代码的执行过程

我把这两段代码写在同一个query.jsp中,其实在实际工程中不很规范,这里只是为了方便演示罢了,query.jsp既充当了请求发起页面也当起了请求接收页面,按我的理解应该是

在另一个普通Html页面,例如Staff.html编写

<form method = "post" action = "query.jsp">
<input type = "text" name = "Name" id = "name">
<input type = "submit" name = "Submit">
</form>

query.jsp仅作查询业务处理及展示。

首先

<form method = "post" action = "query.jsp">
<input type = "text" name = "Name" id = "name">
<input type = "submit" name = "Submit">
</form>

会向query.jsp发出请求,(更确切说是向HTTP服务器发出一个Post请求)并由query.jsp接收请求中包含的参数信息,也就是<input type = "text" name = "Name" id = "name">包含的文字

当服务器端query.jsp收到请求(更确切说是被HTTP服务器载入),以及附加于该请求的参数Name对应的文本

首先在Query代码开头使用


request.setCharacterEncoding("gb2312");
String name = request.getParameter("Name");
也许你已经想到getParameter("Name");中的Name是对应于html表单元素的文本框的名字。request可以理解为请求对象,包含http请求中所包含的信息。

String name = request.getParameter("Name"); 这句则是获取参数包含内容的语句。request.setCharacterEncoding("gb2312");这句代码其实是指定请求中包含内容的编码格式,如果不显式指定编码格式,用getParameter()获取的内容则可能是乱码

<!--你可以去掉这句并<%=name%>打印输出内容试试,显示的内容如果包含中文可能是好几个问号>

图片

<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<%@ page import = "java.sql.*"%>

<html>
<%
request.setCharacterEncoding("gb2312");
String name = request.getParameter("Name");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //绕口令
String dbDriver = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
String dbFile = application.getRealPath("Test.mdb");
dbDriver += dbFile;
Connection conn = DriverManager.getConnection(dbDriver);
Statement stat = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql;
if (name != "")
{
sql = "select * from Staff where Name = '" + name + "'";
}
else
{
sql = "select * from Staff";
}
ResultSet rs = stat.executeQuery(sql);
while (rs.next())
{
%>
工号:<%=rs.getString(1)%>
姓名:<%=rs.getString(2)%>
<br>
<%
}
//rs stat conn等是否需要显式关闭,我还不确定,待查文档或请知道童鞋解答
%>

<form method = "post" action = "query.jsp">
<input type = "text" name = "Name" id = "name">
<input type = "submit" name = "Submit">
</form>
</html>

Ctrl+S保存,然后启动Tomcat服务器,在浏览器中输入http://localhost:8080/Test/query.jsp 

开始的Test.jsp已改为query.jsp这样写只是为了更规范些^_^

图片

图片

未完待续...
















抱歉!评论已关闭.