netbeans下配置tomcat

1。在netbeans-tools-server manerger下添加tomcat服务器, 默认是已经配置好的。
  • 配置用户:这个要在base directory 下的tomcat-users.xml文件中设置
  • 用户角色(role):admin 或者 manager  或者 admin,manager     
  • Home Directory.服务器所在目录, 安装好以后基本不管它的事了
  • Base Directory: 用户配置所在目录, 设置你的服务器和你的servlets                            
2。发布servlet
 
 新建一个工程, samples下有tomcat servlet example.命名为TomcatServletExample
  •   在base directory下有apache-tomcat-5.5.17_base/work/Catalina/localhost/servlets-examples/tldCache.ser
  •    在apache-tomcat-5.5.17_base/conf/Catalina/localhost下有depth#examples.xml:

这是以文件夹和文件形式发布的结构。前面提到的servlets-examples.xml文件中的docBase属性就是我工程文件的目录, path是制定的访问路径, 比如,我这里可以通过http://localhost:8084/servlets-examples/访问, 客户端的访问就是通过这个文件来转向的

docBase的典型结构是:

*.html, *.jsp, etc :页面
/WEB-INF/web.xml :he Web Application Deployment Descriptor for your application. This is an XML file describing the servlets and other components that make up your application, along with any initialization parameters and container-managed security constraints that you want the server to enforce for you.
/WEB-INF/classes/ :编译后的.class文件
/WEB-INF/lib/ :This directory contains JAR files that contain Java class files (and associated resources) required for your application, such as third party class libraries or JDBC drivers.
 
 3. 弄清了结构,然后自己动手写一个简单
  • 新建一个web application, 默认有一个index.jsp作为首页, 首页可以在web.xml的pages标签下修改
  • index.jsp在body标签下添加:

       

         
         
Execute
     
  • 在source packages下添加NewServlet.class, 代码附在后面
  • 在web.xmlservlet标签下配置NewServlet, 指定servlet class和url pattern, 我指定的是/NewServlet, 在http://localhost:8084/WebServletTest/NewServlet下就访问到了
  • 发现有时候要编译两次才能显示正确的结果
  • 连接一个图片时, 文件名竟然是大小写敏感的
 netbeans的web sample下有tomcat servlet的例子, 是学习servlet的很好的例子
 
实例代码:
-------------------------------------
 
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class NewServlet extends HttpServlet {
    /** Initializes the servlet. Connections to databases belong here !
     */
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
       
    }
   
    /** Destroys the servlet. Close connections, files, etc.
     */
    public void destroy() {
       
    }
  
    // Form values can be passed by 2 methods, GET or POST
    // the doGet() (resp. doPost())  method is called when the method is
    // GET (resp POST).
    // The following trick allows us to process both with one function
   
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
   
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
   
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
       
        out.println("");
        out.println("");
        out.println("");
        out.println("");
        out.println("");
 // The real work of the servlet begins here
 
 // A servlet does nothing else than outputing HTML code
 // to the webserver. It can output the HTML code corresponding
 // to a form. The user fills this form and, when the Submit button
 // is clicked, the values are sent to the appropriate program on the
 // webserver (in this case, our servlet) which then uses these values
 // to `calculate' what it should display this time
 
 // If the servlet is simply
 // called by visiting an url or clicking a link, all parameters
 // will have null values. This is what happens when you type
 // `www.google.com' in your browser. We can detect this and
 // print out a default `welcome' message (as below).
 // If the servlet is called by clicking a submit
 // button, no parameter will have null values (fields not filled
 // by the user will return empty strings, not null).
 
        if (request.getParameter("myparam") != null)
     // the request.getParameter function allows us to obtain the
     // values entered by the user in the various input fields
            out.println("Your parameter is "+request.getParameter("myparam")+"
");
        else
            out.println("Hello, please enter a parameter !
");
 out.println(" Enter your new parameter here:
");
        out.println(
 // The `action` field of the `form` tag indicates which program
 // should be called by the webserver when the user clicks `submit'
 // in this case, we tell it to call the same servlet again
        " "+
 // The 'name' of the input field corresponds to the name of the
 // parameter which will contain the value
 // entered in this input field (here, it is 'myparam' - see above)
        "
"+
 // The special `submit` input field generates a submit button
 ""
 // When the user clicks the submit button, the browser sends a
 // request to the servlet whose name is contained in the `action`
 // field of the `` tag, which in this case is the present
 // servlet. This request includes the values entered by the user
 // in the different input fields as parameters.
        +""
        );
       
        out.println("");
        out.println("");
       
        out.close();
    }
  
    public String getServletInfo() {
        return "Short description";
    }
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值