JSP学习笔记2.docx

上传人:b****5 文档编号:4443519 上传时间:2022-12-01 格式:DOCX 页数:22 大小:465.31KB
下载 相关 举报
JSP学习笔记2.docx_第1页
第1页 / 共22页
JSP学习笔记2.docx_第2页
第2页 / 共22页
JSP学习笔记2.docx_第3页
第3页 / 共22页
JSP学习笔记2.docx_第4页
第4页 / 共22页
JSP学习笔记2.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

JSP学习笔记2.docx

《JSP学习笔记2.docx》由会员分享,可在线阅读,更多相关《JSP学习笔记2.docx(22页珍藏版)》请在冰豆网上搜索。

JSP学习笔记2.docx

JSP学习笔记2

JSP学习笔记

(一)-----概述

1.JSP是JavaServerPages的简写。

2.用JSP开发的Web应用是跨平台的.

3.JSP技术是Servlet技术的扩展。

Servlet是平台无关的,100%纯Java的Java服务端组件。

4.下面就是一个简单的JSP页面:

<!

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">

<HTML>

<HEAD><TITLE>欢迎访问网上商店</TITLE></HEAD>

<BODY>

<H1>欢迎</H1>

<SMALL>欢迎,

<!

--首次访问的用户名字为"NewUser"-->

<%out.println(Utils.getUserNameFromCookie(request));%>

要设置帐号信息,请点击

<AHREF="Account-Settings.html">这里</A></SMALL>

<P>

页面的其余内容。

.

</BODY></HTML>

5.下面是JSP和其他类似或相关技术的一个简单比较:

1).JSP和ActiveServerPages(ASP)相比

Microsoft的ASP是一种和JSP类似的技术。

JSP和ASP相比具有两方面的优点。

首先,动态部分用Java编写,而不是VBScript或其他Microsoft语言,不仅功能更强大而且更易于使用。

第二,JSP应用可以移植到其他操作系统和非Microsoft的Web服务器上。

2).JSP和纯Servlet相比

JSP并没有增加任何本质上不能用Servlet实现的功能。

但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。

更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:

比如,由页面设计专家进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。

3).JSP和服务器端包含(Server-SideInclude,SSI)相比

SSI是一种受到广泛支持的在静态HTML中引入外部代码的技术。

JSP在这方面的支持更为完善,因为它可以用Servlet而不是独立的程序来生成动态内容。

另外,SSI实际上只用于简单的包含,而不是面向那些能够处理表单数据、访问数据库的“真正的”程序。

4).JSP和JavaScript相比

JavaScript能够在客户端动态地生成HTML。

虽然JavaScript很有用,但它只能处理以客户端环境为基础的动态信息。

除了Cookie之外,HTTP状态和表单提交数据对JavaScript来说都是不可用的。

另外,由于是在客户端运行,JavaScript不能访问服务器端资源,比如数据库、目录信息等等。

JSP学习笔记

(二)-----使用Tomcat运行JSP文件

有些网友不知道怎么才能运行自己的JSP文件,我在这里简单介绍一下,给大家提供一点参考:

1.下载并安装tomcat。

下载地址:

http:

//jakarta.apache.org/tomcat

2.编写自己的JSP网页和Java对象。

3.配置自己的Web应用。

配置方法:

在TOMCAT_HOME/conf/server.xml文件中加入一行:

其中,TOMCAT_HOME是tomcat的主目录,appName是你的Web应用的名称。

4.将你的jsp文件、html文件、image文件拷贝到TOMCAT_HOME/webapps/appName目录下。

5.编译你的java文件。

6.将编译好的class文件拷贝到TOMCAT_HOME/webapps/WEB-INF/classes目录下。

也可将class文件打包成jar文件放到TOMCAT_HOME/webapps/WEB-INF/lib目录下。

7.ALLISOK!

你可以在你的浏览器上看到你的成果了:

http:

//localhost:

8080/appName/youjsp.jsp

其中,appName是你配的Web应用名称,youjsp.jsp是你编写的jsp文件名。

JSP学习笔记(三)-----使用JSP处理用户注册和登陆

1.这是一个JSP实例,由四个JSP页面组成,处理用户的注册和登陆信息2.首先是login.jsp,代码如下:

<html>

<center>

<formmethod=getaction="http:

//127.0.0.1:

8000/jsp/test.jsp">

username<inputtype=textname=username>

<br><br>

password<inputtype=passwordname=pass>

<br><br>

<inputtype=submitvalue="注册">

</form>

<formmethod=getaction="http:

//127.0.0.1:

8000/jsp/test3.jsp">

username<inputtype=textname=username>

<br><br>

password<inputtype=passwordname=pass>

<br><br>

<inputtype=submitvalue="登陆">

</form>

<br>

</center>

</html>

3.test.jsp代码如下:

(主要处理用户注册,将注册信息插入数据库)

<html>

<%@pagelanguage="java"import="java.sql.*"%>

yourusernameis:

<%=request.getParameter("username")%>

<br><br>

yourpasswordis:

<%=request.getParameter("pass")%>

<br><br>

<%

Stringname=request.getParameter("username");

Stringpass=request.getParameter("pass");

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connectiondbcon=DriverManager.getConnection("jdbc:

odbc:

test","sa","");

PreparedStatementstat=dbcon.prepareStatement(

"insertloginvalues(?

?

)");

stat.setString(1,name);

stat.setString(2,pass);

stat.executeUpdate();

out.println("<br><br><B>insertsuccessful</B>");

}

catch(Exceptione)

{

out.println(e);

}

%>

<b>Clickheretoviewallpeople</b>

<formmethod=getaction="http:

//127.0.0.1:

8000/jsp/test2.jsp">

<inputtype=submitvalue="--->">

</form>

</html>

4.test2.jsp,代码如下:

(处理当用户注册成功之后可以查看所有的注册用户名单)

<html>

<%@pagelanguage="java"import="java.sql.*"%>

<%try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connectiondbcon=DriverManager.getConnection("jdbc:

odbc:

test","sa","");

PreparedStatementstat=dbcon.prepareStatement(

"select*fromlogin");

ResultSetresult=stat.executeQuery();

%>

<tableborder=2>

<%

while(result.next())

{

%>

<tr><td><%=result.getString

(1)%><td></tr>

<%

}

%>

</table>

<%

}

catch(Exceptione)

{

out.println(e);

}

%>

</html>

5.test3.jsp代码如下:

(处理用户登录信息)

<html>

yourusernameis:

<%=request.getParameter("username")%>

<br><br>

yourpasswordis:

<%=request.getParameter("pass")%>

<br><br>

<%@pagelanguage="java"import="java.sql.*"%>

<%

Stringname=request.getParameter("username");

Stringpass=request.getParameter("pass");

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connectiondbcon=DriverManager.getConnection("jdbc:

odbc:

test","sa","");

PreparedStatementstat=dbcon.prepareStatement(

"select*fromloginwhereusername=?

andpassword=?

");

stat.setString(1,name);

stat.setString(2,pass);

ResultSetresult=stat.executeQuery();

if(result.next())

{

out.println("LoginSuccessful");

}

else

{

out.println("LoginError");

}

}

catch(Exceptione)

{

out.println(e);

}

%>

6.此外还需要一个名为login的数据库,只需要两个列username,password就可以了

先注册,用户名33,密码33

注册成功

察看注册用户

登陆成功

JSP学习笔记(四)-----JSP动作的使用

1.该实例主要告诉我们怎么样在JSP代码中使用JSP动作,例如<jsp:

forward>

2.该实例需要四个文件:

login.jsp,test.jsp,ok.htm,no.htm

3.首先看一下login.jsp

<html>

<center>

<formmethod=getaction="http:

//127.0.0.1:

8000/test.jsp">

username<inputtype=textname=username>

<br><br>

password<inputtype=passwordname=password>

<br><br>

<inputtype=submitvalue="确定">

</form>

</center>

</html>

4.test.jsp代码如下:

<html>

<%

Stringusername=request.getParameter("username");

if(username.trim().equals("abc"))

{%>

<jsp:

forwardpage="ok.html"/>

<%}

else

{%>

<jsp:

forwardpage="no.html"/>

<%}

%>

</html>

5.ok.htm和no.htm非常简单,随便写写:

<html>ok</html>

<html>no</html>

6.最后进行配置,非常简单:

把login.jsp,test.jsp,ok.htm,no.htm放在j2ee的public_html中就可以了,不需要启动J2EE部署器了,这是一个简单方法

7.运行效果是当你输入用户名为abc时,页面会自动跳转到ok.htm页面,否则跳到no.htm页面

JSP学习笔记(五)-----JSP中使用JavaBean

1.该实例主要告诉我们怎么样在JSP代码中调用JavaBean构件

2.使用JavaBean的优点是简化了JSP代码,界面代码和逻辑代码互相分离,便于程序员查看和调试

3.该实例需要五个文件:

login.jsp,test.jsp,userbean.class

4.首先看一下login.jsp

<html>

<center>

<formmethod=postaction="http:

//127.0.0.1:

8000/test.jsp">

username<inputtype=textname=username>

<br><br>

password<inputtype=passwordname=password>

<br><br>

<inputtype=submitvalue="注册">

</form>

</center>

</html>

5.test.jsp代码如下:

<html>

<jsp:

useBeanid="hello"class="userbean"scope="session"/>

<jsp:

setPropertyname="hello"property="*"/>

yourusernameis:

<jsp:

getPropertyname="hello"property="username"/>

<br><br>

yourpasswordis:

<jsp:

getPropertyname="hello"property="password"/>

<br><br>

<%

out.println(hello.insert());

%>

</html>

6.JavaBean构件userbean.java代码如下:

importjava.sql.*;

publicclassuserbean

{

privateStringusername;

privateStringpassword;

publicvoidsetUsername(Stringusername)

{

this.username=username;

}

publicvoidsetPassword(Stringpassword)

{

this.password=password;

}

publicStringgetUsername()

{

returnusername;

}

publicStringgetPassword()

{

returnpassword;

}

publicStringinsert()

{

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connectiondbcon=DriverManager.getConnection("jdbc:

odbc:

test","sa","");

PreparedStatementstat=dbcon.prepareStatement(

"insertloginvalues(?

?

)");

stat.setString(1,username);

stat.setString(2,password);

stat.executeUpdate();

return"success";

}

catch(Exceptione)

{

System.out.println(e);

returne.toString();

}

}

}

7.配置方法如下:

login,test放在j2ee的public_html中,userbean.class放在j2ee\lib\classes中

JSP学习笔记(六)-----在多个JSP页面之间传递参数

1.怎么在多个JSP页面之间进行参数传递?

需要使用JSP的内置作用域对象session。

利用它的两个方法setAttribute(),getAttribute()

2.下面的这个实例实现了把第一个JSP页面的参数传递给第三个页面的功能

3.代码如下:

1.jsp

<html>

<formmethod=getaction=2.jsp>

what'syourname<inputtype=textname=username>

<inputtype=submitvalue=submit>

</form>

</html>

4.2.jsp

<html>

<formmethod=postaction="3.jsp?

pass=11">

<%

Stringname=request.getParameter("username");

session.setAttribute("username",name);

%>

Yournameis:

<%=request.getParameter("username")%>

<br>what'syourhobby<inputtype=textname=hobby>

<inputtype=submitvalue=submit>

</form>

</html>

5.3.jsp

<html>

yournameis:

<%=session.getAttribute("username")%>

<br>

yourhobbyis:

<%=request.getParameter("hobby")%>

<br>

yourpasswordis:

<%=request.getParameter("pass")%>

<br>

</form>

</html>

JSP学习笔记(七)-----猜数字游戏

1.这是一个猜数字的游戏,通过使用JSP调用JavaBean

2.需要两个文件,number.jsp和NumberGuessBean.java

3.先看number.jsp代码:

<html>

<jsp:

useBeanid="number"class="NumberGuessBean"scope="session"/>

<jsp:

setPropertyname="number"property="*"/>

<%

if(number.getNumGuesses()==0)

{

%>

<B>WelcometotheNumberGuessgame.</B>

<br>

<B>I'mthinkingofanumberbetween1and100.</B>

<br>

<b>What'syourguess?

</b>

<formmethod=post>

<inputtype=textname="guess">

<inputtype=submitvalue=submit>

</form>

<%

}

elseif(number.getSuccess())

{

%>

Congratulations!

Yougotit.Andafterjust<%=number.getNumGuesses()%>tries.

Careto<ahref=number.jsp>tryagain</a>?

<%

number.reset();

}

else

{

%>

Goodguess,butnope.Try<%=number.getHint()%>.Youhavemade<%=number.getNumGuesses()%>guesses.

<br>I'mthinkingofanumberbetween1and100.

<br>

What'syourguess?

<formmethod=post><inputtype=textname="guess">

<inputtype=submitvalue=submit>

</form>

<%

}

%>

</html>

4.NumberGuessBean.java代码如下:

importjava.util.*;

publicclassNumberGuessBean{

intanswer;

booleansuccess;

Stringhint;

intnumGuesses;

publicNumberGuessBean(){

reset();

}

publicvoidsetGuess(Stringguess){

numGuesses++;

intg;

try{

g=Integer.parseInt(guess);

}

catch(NumberFormatExceptione){

g=-1;

}

if(g==answer){

success=true;

}

elseif(g==-1){

hint="anumbernexttime";

}

elseif(g<answer){

hint="higher";

}

elseif(g>answer){

hint="lower";

}

}

publicbooleangetSuccess(){

returnsuccess;

}

publicStringgetHint(){

return""+hint;

}

publicintgetNumGuesses(){

returnnumGuesses;

}

publicvoidreset(){

answer=Math.abs(newRandom().nextInt()%100)+1;

success=false;

numGuesses=0;

}

}

JSP学习笔记(八)-----include的运用

1.向JSP页面中插入指定的页面方法有两种:

JSP命令<%@include%>

JSP动作<jsp:

include/>

2.a.jsp代码如下:

<html>huanghui

<%@includefile="b.jsp"%>

<jsp:

includepage="b.jsp"flush="true"/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1