1.apt-get install tomcat6 tomcat6-docs tomcat6-examples tomcat6-admin tomcat6-common
2.修改/var/lib/tomcat6/conf/tomcat-users.xml
增加
<user username=”fool” password=”123456″ roles=”admin,manager”/>
配置一个后台管理的用户fool
3.通过sudo /etc/init.d/tomcat6 restart重启服务
4.访问http://localhost:8080/
就可以看到页面
5.实际上各个子目录的配置放在这个目录下面
/var/lib/tomcat6/conf/Catalina/localhost/
比如
/var/lib/tomcat6/conf/Catalina/localhost/examples.xml
对应的代码放在这里
/usr/share/tomcat6-examples/examples
所以我在/var/lib/tomcat6/conf/Catalina/localhost/下新建一个配置,叫learning.xml
内容如下
<?xml version=”1.0″ encoding=”UTF-8″?>
<Context path=”/learning”
docBase=”/usr/share/tomcat6-learning/miniprog/java/jsp-learning”
antiResourceLocking=”false” />
然后代码放在/usr/share/tomcat6-learning/miniprog/java/jsp-learning目录下
7.JSP的写法:
jsp/hello.jsp
<html>
<head>
<title>my first jsp program</title>
</head>
<body>
<%
out.println(“Hello World!”);
out.println(“I love the world!”);
%>
</body>
</html>
有点类似于ASP,html中内嵌入代码。
直接访问http://localhost:8080/learning/jsp/hello.jsp,就可以获得访问的结果
按网上的说法,tomcat收到get请求后,通过JSP container(这里叫Catalina),先把hello.jsp转成helloServlet.java,里面的标签都通过
out.pringln输出。然后把helloServlet.java编译成helloServlet.class。最后运行它。
8.servlet的写法
servlet/HelloWorldServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorldServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType(“text/html”);
PrintWriter out = response.getWriter();
out.println(“<html>”);
out.println(“<head>”);
out.println(“<title>Hello World Servlet!</title>”);
out.println(“</head>”);
out.println(“<body>”);
out.println(“<h1>Hello World Servlet!</h1>”);
out.println(“</body>”);
out.println(“</html>”);
}
}
类似于ccdb中用python写的运维系统的那个web界面,也是通过继承python版本的servlet对象,实现doGet doPost,write HTML code来生
成网页内容的。
实际上servlet的写法与JSP的写法等价,省略了把jsp文件转成java文件的过程。但是jsp的写法更加简洁。
如果通过servlet执行,还需要做一些其它操作
a.servlet/下面
mkdir -p WEB-INF/classes
b.编译,要考虑依赖servlet的库
javac -cp /usr/share/java/tomcat-servlet-api-3.0.jar HelloWorldServlet.java
cp HelloWorldServlet.class ../WEB-INF/classes
c.配置WEB-INF/web.xml
<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<web-app xmlns=”http://java.sun.com/xml/ns/javaee”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd”
version=”2.5″>
<description>
Servlet and JSP Examples.
</description>
<display-name>Servlet and JSP Examples</display-name>
<!– Define servlets that are included in the example application –>
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/servlet/HelloWorldServlet</url-pattern>
</servlet-mapping>
</web-app>
servlet标签定义servlet的名字
servlet-mapping标签定义servlet和url的映射关系
之后/etc/init.d/tomcat6 restart
访问
http://localhost:8080/learning/servlet/HelloWorldServlet
把jsp servlet与python django作个简单的类比,可以发现
WEB-INF/web.xml有点像python django框架里的urls.py
jsp文件类似于template文件
d.如果遇到乱码,在jsp文件第一行加上
<%@ page language=”java” contentType=”text/html; charset=UTF-8″ pageEncoding=”UTF-8″%>