本文目录一览:
- 1、jsp的环境配置与简单jsp页面测试
- 2、如何在web.xml文件中,配置jsp的映射路径
- 3、web-inf下的jsp页面怎么配置文件
- 4、如何在web.xml中配置jsp的访问路径
- 5、如何在服务器上配置JSP,jsp的服务器到底怎么配置啊?
jsp的环境配置与简单jsp页面测试
JSP是一门基于JAVA语言的一种web应用开发技术,由JSP制作的动态网站具有非常好的跨平台性;所以对于做web开发的程序员来说,精到的掌握JSP的使用是极其重要的;在网络通信中,最常见的模式是B/S通信模式,即用户把需要获取的信息用浏览器向某个服务器发出请求,服务器使用web服务软件将用户的请求信息处理后发送给用户;所以使用jsp技术发送的请求就需要服务器端有相应的jsp引擎(即web服务软件)进行处理,jsp引擎有很多,下面使用有sun公司开发的开源的tomcat服务器来进行讲述;所以下面从tomcat服务器的安装开始讲起分为:一、tomcat的安装与配置;二、测试jsp页面;三、设置web服务目录三个方面来进行说明。
一:tomcat的安装与配置
这里默认jdk已经安装成功且环境变量已经设置为如下值:变量名Java_Home=E:\jdk1.8.0_45变量名Classpath=E:\jdk1.8.0_45\jre\lib\rt.jar;,;变量名Path=E:\JDK1.8.0_45\BIN
安装tomcat有两种方式(一)apache-tomcat-6.013.zip文件的安装;(二)apache-tomcat-6.013.exe文件的安装下面只介绍第一种方式;
将apache-tomcat-6.013.zip文件解压到磁盘的某个分区下,如解压到E:\,将出现下面的目录结构
接下来双击bin目录下的startup.bat文件,将会出现如下MS-DOS窗口表明已经启动了tomcat服务器,若不关闭该窗口该服务器将一直工作下去;
若双击后没有出现该界面或者只是闪烁了一下,一般是环境变量没有设置好;然后在浏览器的地址栏里输入或者访问将出现下面的界面:
这里localhost和127.0.0.0代表本主机,8080代表接受请求的端口号,tomcat默认使用该端口号,如果该端口号被占用将无法接受请求,需要在tomcat服务器的conf目录下的server.xml里更改端口号,方法如下:用记事本打开server.xml文件找到下面的部分将8080设置为要使用的端口号即可;但是建议不要使用1~1024之间的端口号以免与其他网络发生冲突,若端口号为80的端口没有被占用则可使用80的端口号,这样访问jsp页面时就可以省略端口号,如
第二种方式只需要双击apache-tomcat-6.013.exe文件安装即可,形成的目录和第一种方式一样;
二、测试jsp页面
用记事本编写如下first.jsp文件,以ANSI编码方式保存在web服务目录的根目录webapps\Root里,内容如下:
在地址栏里输入访问出现下面的界面:
三、设置web服务目录
在tomcat的webapps的文件夹下有如下内容,其中TOOT是tomcat的根目录,访问该目录下的jsp页面的内容时只需在浏览器的地址栏里输入ip地址、端口号、和jsp页面的名字即可(即省略web根目录的名字),如:;其他的文件夹是tomcat的服务目录,如果把first.jsp文件放到docs文件夹下,则在地址栏里要输入才能找到该文件;
另外也可设置tomcat的虚拟目录来访问指定目录的jsp内容,比如想要访问e盘下soft文件夹里的内容但是为了隐藏该目录则要通过hello虚拟目录来访问;这时可以在server.xml文件里的/host标签的上面加入下面的内容:
这样要访问e:/soft文件夹里的first.jsp文件就可以通过在地址栏里输入来访问了;
这里再来说一下相对目录的问题,在web服务目录下的目录称为该web服务目录下的相对目录;若在文本的服务目录sun下有一个子目录moon,在moon目录下有一个文件a.jsp,若需要访问该文件则需要在地址栏里输入来访问;另外web服务目录下的页面要访问相对目录下的jsp页面则要通过相对目录来访问,如sun服务目录下的b.jsp页面要通过超链接来访问sun子目录moon下的a.jsp则要使用moon/a.jsp(注意不是/moon/a.jsp;"/"是代表根目录,/moon/a.jsp将代表moon是web的一个服务目录,而不是服务目录sun下的子目录);
如何在web.xml文件中,配置jsp的映射路径
若要访问放在WEB-INF文件夹下的内容(如文件为hello.jsp)则要进行映射,使用一个名字来映射WEB-INF/hello.jsp,在web.xml文件的/description和/web-app之间添加如下代码:
---------------------------------------------------------------------------------------------------------------------------
servlet
servlet-namedemo/servlet-name
jsp-file/WEB-INF/hello.jsp/jsp-file //WEB-INF前必须有/ ,表示从根目录开始
/servlet
servlet-mapping
servlet-namedemo/servlet-name
url-pattern/hello.lxh/url-pattern //此文件名可任意起,后缀名也可任意
/servlet-mapping
web-inf下的jsp页面怎么配置文件
首先,对于外部访问来说,web-inf下的文件都是不可见的(即不能通过url获得web-info下的任何文件),所以,直接访问jsp是不可能的。这要从web-info文件夹的作用说起:
WEB-INF的存在以及其下的lib和classes目录的作用都是jsp规定的,主要是系统运行的配置信息和环境,用来存储服务端配置文件信息和在服务端运行的类文件,它下面的东西不允许客户端直接访问的,这是jsp环境的规定。
而我们通常是使用view层框架(如struts)来提供jsp服务,此时,我们可以将jsp文件放到web-info下避免客户直接访问到页面,同时使用struts来进行jsp文件提取,并将编译好的结果发送到客户端。
如何在web.xml中配置jsp的访问路径
servlet
servlet-namemyjsp/servlet-name
jsp-file/myjsp.jsp/jsp-file
init-param
param-namehello/param-name
param-valuetest/param-value
/init-param
/servlet
servlet-mapping
servlet-namemyjsp/servlet-name
url-pattern/myjsp/url-pattern
/servlet-mapping
如何在服务器上配置JSP,jsp的服务器到底怎么配置啊?
配置jsp服务器其实就是安装 jdk,tomcat,mysql
从官网上下载各自的稳定版本,安装就成了
网上搜一下,相关的文章很多
java+jsp+tomcat+mysql开发环境配置
软件版本号
jdk1.5.0_09
mysql5.0 连接器mysql-connector-java-5.0.4-bin.jar
Apache Tomcat 6.0
默认安装jdk1.5.0_09
设置环境变量
java_home jdk1.5.0_09的安装目录C:\Program Files\Java\jdk1.5.0_09
path %java_home%\bin
classpath .;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%java_home%\jre\lib\rt.jar
默认安装Apache Tomcat6.0,注意安装过程中要将选择运行环境的时候要把C:\Program Files\Java\jre1.5.0_09改成C:\Program Files\Java\jdk1.5.0_09
默认安装mysql5.0
将mysql-connector-java-5.0.4-bin.jar放入C:\Program Files\Java\jdk1.5.0_09\jre\lib和C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib中,并设置环境变量classpath C:\Program Files\Java\jdk1.5.0_09\jre\lib\mysql-connector-java-5.0.4-bin.jar;C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\mysql-connector-java-5.0.4-bin.jar;
现在可以进行java和mysql数据库的连接了
下面用一个简单的例子来测试一下
在tomcat/webapps/下建一个文件夹mysqlManager,创建目录mysqlManager/WEB-INF/classes
mysqlManager/WEB-INF/web.xml
在/mysqlManager/ 下新建index.jsp文件,内容如下
/mysqlManager/index.jsp:
?xml version="1.0" encoding="gbk" ?
%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="gbk"%
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
%@ page import="java.sql.*" %
%!
//这个函数用来获取一个和数据库的连接
Connection getConnection() throws SQLException{
String dbURL="jdbc:mysql://localhost/mysql";
String dbUser="root";
String dbPassword="851120";
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException e){
e.printStackTrace();
}
return DriverManager.getConnection(dbURL,dbUser,dbPassword);
}
//判断一个字符串是否为空
boolean isEmptyString(String str){
return str==null||str.length()==0||str.trim().length()==0;
}
//下面的函数使显示的字符串为汉语
String convert(String str){
try{
return new String(str.getBytes("ISO-8859-1"),"gbk");
}catch(Exception e){
return null;
}
}
%
script type="text/javascript"
!--
function checkValue(){
if(document.forms["main"].sql.value.length==0){
alert("请输入要执行的SQL语句");
document.forms["main"].sql.focus();
return false;
}else{
return true;
}
}
//--
/script
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gbk" /
titlemysql数据库管理系统/title
/head
body
center
table width="80%" border="0"
tr请输入要查询的SQL语句/tr
tr
form action="index.jsp" name=main method="post" onsubmit="checkValue()"
td
textarea name="sql" cols=80 rows=15/textarea
/td
td valign="bottom"
input type="submit" value="提交"/
/td
/form
/tr
/table
hr /
%//接受用户的输入显示查询结果 %
%
//获取用户输入的SQL语句
String sql=request.getParameter("sql");
//out.print("qwe");
if(!isEmptyString(sql)){
%
p您所输入的SQL语句是%=sql %/p
%
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
//out.print("qwe");
try{
//out.print("qwe");
con=getConnection();
//out.print("qwe");
stmt=con.createStatement();
//stmt.execute(sql);
if(stmt.execute(sql)){
//执行结果是ResultSet
rs=stmt.getResultSet();
//获取rs自身的描述信息
ResultSetMetaData rsmd=rs.getMetaData();
//获取rs的列数目
int colNum=rsmd.getColumnCount();
%
p您的查询结果为:/p
table border="1"
tr
%
for(int i=1;i=colNum;i++){
%
td%=rsmd.getColumnName(i) %/td
%
}
%
/tr
%
while(rs.next()){
%
tr
%
for(int j=1;j=colNum;j++){
%
td%=convert(rs.getString(j)) %/td
%
}
}
%
/tr
/table
%
}else{
int colNum=stmt.getUpdateCount();
%
p您更新了%=colNum %列!/p
%
}
}catch(SQLException e){
%
p发生错误,请检查数据库的连接/p
%
}finally{
try{
if(rs!=null)
rs.close();
}catch(Exception e){
}
try{
if(stmt!=null)
stmt.close();
}catch(Exception e){
}
try{
if(con!=null)
con.close();
}catch(Exception e){
}
}
}
%
/center
/body
/html
在浏览其中运行
在输入框中输入sql查询语句 select * from user 会产生查询结果