JSP学习笔记Word文档格式.docx
《JSP学习笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《JSP学习笔记Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
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。
下载地址:
2.编写自己的JSP网页和Java对象。
3.配置自己的Web应用。
配置方法:
在TOMCAT_HOME/conf/server.xml文件中加入一行:
<
Contentpath="
/appName"
docBase="
webapps/appName"
debug="
0"
reloadable="
true"
/>
其中,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!
你可以在你的浏览器上看到你的成果了:
其中,appName是你配的Web应用名称,youjsp.jsp是你编写的jsp文件名。
JSP学习笔记(三)-----使用JSP处理用户注册和登陆
1.这是一个JSP实例,由四个JSP页面组成,处理用户的注册和登陆信息2.首先是login.jsp,代码如下:
<html>
<center>
<formmethod=getaction="
"
username<inputtype=textname=username>
<br><br>
password<inputtype=passwordname=pass>
<inputtype=submitvalue="
注册"
</form>
登陆"
<br>
</center>
</html>
3.test.jsp代码如下:
(主要处理用户注册,将注册信息插入数据库)
<%@pagelanguage="
java"
import="
java.sql.*"
%>
yourusernameis:
<%=request.getParameter("
username"
)%>
yourpasswordis:
pass"
<%
Stringname=request.getParameter("
);
Stringpass=request.getParameter("
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>
--->"
4.test2.jsp,代码如下:
(处理当用户注册成功之后可以查看所有的注册用户名单)
<%try
select*fromlogin"
ResultSetresult=stat.executeQuery();
<tableborder=2>
while(result.next())
<tr><td><%=result.getString
(1)%><td></tr>
%>
</table>
5.test3.jsp代码如下:
(处理用户登录信息)
<%
select*fromloginwhereusername=?
andpassword=?
if(result.next())
LoginSuccessful"
else
LoginError"
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
password<inputtype=passwordname=password>
确定"
4.test.jsp代码如下:
Stringusername=request.getParameter("
if(username.trim().equals("
abc"
))
{%>
<jsp:
forwardpage="
ok.html"
/>
<%}
no.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
<formmethod=postaction="
5.test.jsp代码如下:
useBeanid="
hello"
class="
userbean"
scope="
session"
setPropertyname="
property="
*"
getPropertyname="
/>
password"
out.println(hello.insert());
6.JavaBean构件userbean.java代码如下:
importjava.sql.*;
publicclassuserbean
privateStringusername;
privateStringpassword;
publicvoidsetUsername(Stringusername)
this.username=username;
publicvoidsetPassword(Stringpassword)
this.password=password;
publicStringgetUsername()
returnusername;
publicStringgetPassword()
returnpassword;
publicStringinsert()
stat.setString(1,username);
stat.setString(2,password);
return"
success"
;
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
<formmethod=getaction=2.jsp>
what'
syourname<inputtype=textname=username>
<inputtype=submitvalue=submit>
4.2.jsp
3.jsp?
pass=11"
session.setAttribute("
name);
Yournameis:
<br>what'
syourhobby<inputtype=textname=hobby>
5.3.jsp
yournameis:
<%=session.getAttribute("
yourhobbyis:
hobby"
JSP学习笔记(七)-----猜数字游戏
1.这是一个猜数字的游戏,通过使用JSP调用JavaBean
2.需要两个文件,number.jsp和NumberGuessBean.java
3.先看number.jsp代码:
number"
NumberGuessBean"
if(number.getNumGuesses()==0)
<B>WelcometotheNumberGuessgame.</B>
<B>I'
mthinkingofanumberbetween1and100.</B>
<b>What'
syourguess?
</b>
<formmethod=post>
<inputtype=textname="
guess"
elseif(number.getSuccess())
{
Congratulations!
Yougotit.Andafterjust<%=number.getNumGuesses()%>tries.
Careto<ahref=number.jsp>tryagain</a>?
number.reset();
Goodguess,butnope.Try<%=number.getHint()%>.Youhavemade<%=number.getNumGuesses()%>guesses.
<br>I'
mthinkingofanumberbetween1and100.
What'
<formmethod=post><inputtype=textname="
>
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){
higher"
elseif(g>answer){
lower"
publicbooleangetSuccess(){
returnsuccess;
publicStringgetHint(){
+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"
includepage="
flush="
3.b.jsp代码如下:
<html>hello</html>
JSP学习笔记(九)-----JSP标签库
1.JSP标签库(也称自定义库)可看成是一套产生基于XML脚本的方法,它经由JavaBeans来支持。
在概念上说,标签库是非常简单和可以重用的代码构造。
它可以大大简化你在页面中输入各种录入框的代码(诸如此类的代码:
<inputtype="
text"
name="
taxpayerName"
value="