Linux系统下Jsp环境部署
2020-12-13 03:05
标签:linux jsp tomcat servlet -------本文大纲 简介 Jsp环境部署 Tomcat目录结构 SHOP++网上商城系统安装 --------------- 一、简介 JSP JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。简单地说,jsp就是可能包含了java程序段的html文件(由jasper将嵌入在html文档的程序整个的转换为serlet代码),为了和普通的html区别,因此使用jsp后缀名。 Servlet Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。 它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。 在通信量大的服务器上,Java servlet的优点在于它们的执行速度更快于CGI程序。各个用户请求被激活成单个程序中的一个线程,而创建单独的程序,这意味着各个请求的系统开销比较小。 简单地说,servlet就是在服务器端被执行的java程序,它可以处理用户的请求,并对这些请求做出响应。Servlet编程是纯粹的java编程,而jsp则是html和java编程的中庸形式,所有的jsp文件都将被最终转换成java servlet来执行。 从jsp到java到class,jsp在首次被请求时是要花费一定的服务器资源的。但庆幸的是,这种情况只发生一次,一旦这个jsp文件被翻译并编译成对应的servlet,在下次请求来临时,将直接由servlet来处理,除非这个jsp已经被修改。 JSP和Servlet的最大区别在于,Servlet通常需要事先编译好,而JSP则并非必须事先编译。这意味着Servlet通常放置于私有资源区域,而JSP则通常以嵌入代码的方式包含于HTML页面文件中,这些HTML文件通常放置在公开资源区域。 Tomcat Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。 Tomcat是稳固的独立的Web服务器与Servlet Container,不过,其Web服务器的功能则不如许多更健全的Web服务器完整,如Apache(Apache是一个强大的Web服务器 ,在处理静态页面、处理大量网络客户请求、支持服务的种类以及可配置方面都有优势,高速并且强壮,但是没有JSP/Servlet的解析能力) 将Apache和Tomcat整合起来可以看作是用Tomcat做Apache的jsp/servlet解析插件,不过Tomcat作为一个Web服务器,本身只具备了基本的Web服务功能。 二、Jsp环境部署 1、安装JDK(jdk-7u55-linux-x64) 安装后存放的路径 添加环境变量 到此,jdk安装完成。 2、安装Tomcat (apache-tomcat-7.0.53.tar.gz)
添加环境变量
启动服务
添加启动脚本
访问测试 到此,tomcat安装完成
只要简单的设置就可以 修改/usr/local/tomcat/conf/tomcat-users.xml
重启tomcat
web重新访问,在默认页面的右边有三个按钮 Server Status:服务器性能监控 Manager App :应用程序管理 输入登录密码 应用程序相关信息 应用程序部署
此外,context也可以让管理员基于每个app提供日志、appBase、DB连接等配置,这极大地增强配置的灵活性; Tomcat7 deploy应用程序的方法:
Host Manager :布署虚拟主机
三、tomcat 目录结构 1、各目录的作用 bin ——Tomcat执行脚本目录 conf ——Tomcat配置文件 lib ——Tomcat运行需要的库文件(JARS) logs ——Tomcat执行时的LOG文件 temp ——Tomcat临时文件存放目录 webapps ——Tomcat的主要Web发布目录(存放我们自JSP,SERVLET,CLASSES) work ——Tomcat的工作目录,Tomcat将翻译JSP文件到的Java文件和class文件放在这 2、各目录中的文件 conf/ 最主要的配置文件有 server.xml Tomcat 的全局配置文件 web.xml 为不同的Tomcat配置的web应用设置缺省值的文件 tomcat-users.xml Tomcat用户认证的配置文件 context.xml 用于虚拟主机的配置及.war文件中的URL映射。使用context可以降低系统负载,因为,当某URL请求到达tomcat时,如果没有context,tomcat需要搜索server.xml或context.xml的配置以确定此URL,否则则需要搜索所有的war文件来查找用户的请求的资源 webapps 含Web应用的程序 (JSP、Servlet等) work 由Tomcat自动生成,这是Tomcat放置它运行期间的中间文件(诸如编译的JSP文件)地方。 如果当Tomcat运行时,你删除了这个目录那么将不能够执行包含JSP的页面。 Tomcat的主配置文件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息;
Context : 一个 Context 对应于一个 web application,一个 web application 由一个或者多个Servlet 组成。每个 Context 在创建的时候都将根据配置文件conf/web.xml 和 webapps/${webapp.home}/WEB-INF/web.xml 载入 Servlet 类和创建映射表(mapping table)。当Context 获得请求时,将在自己的映射表中寻找相匹配的 Servlet 类。如果找到,则执行该类,获得结果并返回。 Realm组件:一个Realm表示一个安全上下文,它是一个授权访问某个给定Context的用户列表和某用户所允许切换的角色相关定义的列表。因此,Realm就像是一个用户和组相关的数据库。定义Realm时惟一必须要提供的属性是classname,它是Realm的多个不同实现,用于表示此Realm认证的用户及角色等认证信息的存放位置。 下面是一个常见的使用UserDatabase的配置: SemaphoreValve:用于控制Tomcat主机上任何容器上的并发访问数量; JvmRouteBinderValve:在配置多个Tomcat为以Apache通过mod_proxy或mod_jk作为前端的集群架构中,当期望停止某节点时,可以通过此Valve将用记请求定向至备用节点;使用此Valve,必须使用JvmRouteSessionIDBinderListener; 3) ResourceEnvRef; 4)BackupManager:用于Tomcat集群的会话管理器,与DeltaManager不同的是,某节点会话的改变只会同步给集群中的另一个而非所有节点。 Stores:PersistentManager必须包含一个Store元素以指定将会话数据存储至何处。这通常有两种实现方式:FileStore和JDBCStore Resources:经常用于实现在Context中指定需要装载的但不在Tomcat本地磁盘上的应用资源,如Java类,HTML页面,JSP文件等。 Cluster:专用于配置Tomcat集群的元素,可用于Engine和Host容器中。在用于Engine容器中时,Engine中的所有Host均支持集群功能。在Cluster元素中,需要直接定义一个Manager元素,这个Manager元素有一个其值为org.apache.catalina.ha.session.DeltaManager或org.apache.catalina.ha.session.BackupManager的className属性。同时,Cluster中还需要分别定义一个Channel和ClusterListener元素。 tomcat-user.xml Realm认证时用到的相关角色、用户和密码等信息;Tomcat自带的manager默认情况下会用到此文件;在Tomcat中添加/删除用户,为用户指定角色等将通过编辑此文件实现; catalina.policy Java相关的安全策略配置文件,在系统资源级别上提供访问控制的能力; catalina.properties Tomcat内部package的定义及访问相关的控制,也包括对通过类装载器装载的内容的控制;Tomcat6在启动时会事先读取此文件的相关设置; logging.properties: Tomcat6通过自己内部实现的JAVA日志记录器来记录操作相关的日志,此文件即为日志记录器相关的配置信息,可以用来定义日志记录的组件级别以及日志文件的存在位置等; context.xml 所有host的默认配置文件 四、SHOP++网上商城系统安装 1、环境部署 需要安装mysql
修改/usr/local/tomcat/conf/server.xml 在站点目录(/usr/local/tomcat/webapps)中,新建一目录名为shop
将下载后网上商城解压到此下目录 重启tomcat服务 使用浏览器访问安装 环境检测 系统配置[root@essun download]# ls
apache-tomcat-7.0.53.tar.gz jdk-7u55-linux-x64.rpm
[root@essun download]# rpm -ivh jdk-7u55-linux-x64.rpm
Preparing... ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
jfxrt.jar...
[root@essun download]#
[root@essun java]# rpm -ql jdk | tail -10
/usr/java/jdk1.7.0_55/man/man1/schemagen.1
/usr/java/jdk1.7.0_55/man/man1/serialver.1
/usr/java/jdk1.7.0_55/man/man1/servertool.1
/usr/java/jdk1.7.0_55/man/man1/tnameserv.1
/usr/java/jdk1.7.0_55/man/man1/unpack200.1
/usr/java/jdk1.7.0_55/man/man1/wsgen.1
/usr/java/jdk1.7.0_55/man/man1/wsimport.1
/usr/java/jdk1.7.0_55/man/man1/xjc.1
/usr/java/jdk1.7.0_55/release
/usr/java/jdk1.7.0_55/src.zip
[root@essun java]# cd /usr/java/^C
[root@essun java]# ll
total 4
lrwxrwxrwx 1 root root 16 May 11 09:45 default -> /usr/java/latest
drwxr-xr-x 8 root root 4096 May 11 09:44 jdk1.7.0_55
lrwxrwxrwx 1 root root 21 May 11 09:45 latest -> /usr/java/jdk1.7.0_55
[root@essun bin]# cat /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
#注:$JAVA_HOME/bin一定要写在前面,否则将引用的是系统自带的java环境
[root@essun bin]# java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
[root@essun download]# tar xf apache-tomcat-7.0.53.tar.gz -C /
usr/local/
[root@essun local]# ln -sv apache-tomcat-7.0.53 tomcat
`tomcat‘ -> `apache-tomcat-7.0.53‘
[root@essun tomcat]# cat /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
[root@essun tomcat]# . /etc/profile.d/tomcat.sh
[root@essun tomcat]# cat
cat catalina.sh catchsegv
[root@essun tomcat]# catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/latest
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@essun tomcat]# ss -tnlp | grep 8080
LISTEN 0 100 :::8080 :::* users:(("java",28017,42))
[root@essun tomcat]# ss -tnlp | grep java
LISTEN 0 100 :::8080 :::* users:(("java",28017,42))
LISTEN 0 1 ::ffff:127.0.0.1:8005 :::* users:(("java",28017,45))
LISTEN 0 100 :::8009 :::* users:(("java",28017,43))
#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig: 2345 92 34
# description: The Apache Tomcat servlet/JSP container.
JAVA_HOME=/usr/java/latest
CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME CATALINA_HOME
case $1 in
start)
$CATALINA_HOME/bin/catalina.sh start;;
stop)
$CATALINA_HOME/bin/catalina.sh stop;;
restart)
$CATALINA_HOME/bin/catalina.sh stop
sleep 2
$CATALINA_HOME/bin/catalina.sh start;;
esac
[root@essun tomcat]# chmod +x /etc/rc.d/init.d/tomcat
[root@essun tomcat]# chkconfig --add tomcat
[root@essun tomcat]# chkconfig tomcat on
[root@essun tomcat]# service tomcat restart
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/latest
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/latest
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@essun tomcat]# ls -l | grep "^d"
drwxr-xr-x 2 root root 4096 May 11 11:36 bin
drwxr-xr-x 3 root root 4096 May 11 11:42 conf
drwxr-xr-x 2 root root 4096 May 11 11:36 lib
drwxr-xr-x 2 root root 4096 May 11 11:42 logs
drwxr-xr-x 2 root root 4096 May 11 11:36 temp
drwxr-xr-x 7 root root 4096 Mar 25 11:24 webapps
drwxr-xr-x 3 root root 4096 May 11 11:42 work
[root@essun tomcat]# ls conf
Catalina context.xml tomcat-users.xml
catalina.policy logging.properties web.xml
catalina.properties server.xml
[root@essun webapps]# ls
docs examples host-manager manager ROOT
[root@essun work]# cd Catalina/localhost/
[root@essun localhost]# ls
_ docs examples host-manager manager
[root@essun conf]# yum install -y mysql-server mysql
root@essun shop]# service mysqld start
Initializing MySQL database: Installing MySQL system tables...
OK
Filling help tables...
OK
[root@essun webapps]# mkdir shop
[root@essun shop]# pwd
/usr/local/tomcat/webapps/shop
[root@essun shop]# ls
admin changelog.txt index.html license.html product robots.txt sitemap WEB-INF
article favicon.ico install META-INF resources shopxx.txt upload
[root@essun shop]# service tomcat restart
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/latest
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/latest
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.