原创文章,转载请注明出处:http://blog.csdn.net/wind5shy/article/details/3727606
第一章
Servlet
和
JSP
技术概述
(By wind5shy
:
http://blog.csdn.net/wind5shy
)
Servlet
的作用
运行在
Web
服务器或应用服务器上的
Java
程序。
Servlet
是一个中间层,一边
Web
浏览器或者其他
HTTP
客户程序的请求,一边连接
HTTP
服务器上的数据库或者应用程序,用来双向接收和发送一边的数据到另一边。在这个过程中,
Servlet
会将接收的数据转换成发送方能处理的形式并对数据进行一些其他的处理。
Servlet
与
JSP
的关系
Servlet
可以看做包含
HTML
的
Java
程序,
JSP
可以看做包含
Java
代码的
HTML
页面,其实
JSP
编写
Servlet
的另一种形式,本质上就是
Servlet
,
JSP
页面在运行之前会被翻译成
Servlet
,
Servlet
再被编译后运行。
JSP
注重简化
HTML
的创建与维护,用于面向表示的任务;
Servlet
最适合于调用商业逻辑进行复杂操作,用于面向处理的任务。(在
Struts 2.0
框架中,
JSP
完全应用于表现层,退化成了
HTML
)。
(By wind5shy
:
http://blog.csdn.net/wind5shy
)
第二章
服务器的安装和配置
(By wind5shy
:
http://blog.csdn.net/wind5shy
)
Tomcat 6.0
设置
书上是
4.X
的,现在几乎没人用了,这里讲一下
6.0
的设置,和
4.X
有不少变化(其他的服务器我暂时没用到,就略过了):
环境设置:
Tomcat 6.0
需要
1.5
以上的
jre
,如果使用
Eclipse
或
MyEclipse
的话环境变量只需要把
JDK
设置好:
在我的电脑
->
属性
->
高级
->
环境变量
->
系统变量中添加以下环境变量
JAVA_HOME
=D:/Program Files/Java/jdk1.6.0_07
(
JDK
的安装目录)和
path
=%JAVA_HOME%/bin
即可。
server.xml
:
端口设置:
<Connector
port
=”8088″ protocol=”HTTP/1.1″
connectionTimeout=”20000″
redirectPort=”8443″ />
端口(
port
)不要设置为默认的
8080
,也不要设置为书上的
80
,这两个端口一般都已被占用,若设置为这两个端口会造成
Tomcat
中的页面无法访问。这里我设置为
8088
,之后在
IE
中打开
http://localhost:8088
,如果看到
Tomcat
的欢迎页面的话说明安装成功了。
启用
servlet
重新载入与设置
ROOT
目录为工程文件路径:
在
</Host>
之前添加
<Context path=”” docBase=”ROOT” debug=”0″
reloadable=”true” privileged=”true”/>
其中
Context path
为访问路径,表示在浏览器地址栏里输入路径时要加入的前缀;
docBase
为工程文件路径
,
这里是相对路径,为
Tomcat
下
webapps/ROOT,
可以设置为其他的绝对路径。
开启
servlet
调用器:
把
ROOT/WEB-INF
中的
web.xml
内容替换为:
<?xml version=”1.0″ encoding=”UTF-8″?>
<web-app>
<display-name></display-name>
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
</web-app>
把
conf
中
web.xml
以下内容
<!–
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
–>
解除注释。这样,
servlet
与
class
文件将自动建立映射,以
http://localhost:8088/
servlet/class
包名
.
文件名的形式调用,无需手动配置映射关系。
部署
将编译后的
class
文件和其它一些文件放到一定结构的目录中去,使其能够工作。打个比方,我们写
java
文件的过程好像生产电脑各个零件(如
CPU
、硬盘等)的过程,
java
文件写好后经过编译生成
class
文件就像零件生产完成,部署就相当于把零件按照规定安装到机箱的相应位置中去,通过部署把电脑组装好就可以使用了。
(By wind5shy
:
http://blog.csdn.net/wind5shy
)