码迷,mamicode.com
首页 > 编程语言 > 详细

java web.xml配置servlet

时间:2016-08-19 18:57:35      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

文件名:“SimpleServlet.java”

package cn.mldn.lxh.servlet;//定义包

import java.io.*;

//HttpServlet属于javax.servlet.http包下

//ServletException属于javax.servlet包下

import javax.servlet.*;//导入HttpServlet所属的包

//HttpServletRequest、HttpServletResponse存放在javax.servlet.http包下

importjavax.servlet.http.* ;



public class SimpleServlet extendsHttpServlet

{

// 表示处理get请求

public void doGet(HttpServletRequest req,HttpServletResponse resp)throws IOException,ServletException //抛出异常

{

PrintWriter out = resp.getWriter();//实例化out对象。

out.println("<HTML>");

out.println("<HEAD>");

out.println("<TITLE>THE FIRSTSERVLET</TITLE>") ;

out.println("</HEAD>");

out.println("<BODY>");

out.println("<H1>HelloWorld!!!</H1>") ;

out.println("</BODY>");

out.println("</HTML>");

out.close() ;

}

public void doPost(HttpServletRequest req,HttpServletResponse resp)throws IOException,ServletException

{

this.doGet(request,response) ;

}

};



///////////////////////////////////////////////////////////////////////////////////////////

JSP功能和servlet一致,也就是说servlet可以被外部访问,那么要访问它就需要通过一个地址,因此只有通过WEB的地址映射来解决了。

如何进行地址映射呢?

通过修改web.xml文件进行。

代码如下:

<servlet>

<servlet-name>simple</servlet-name>//我们定义的servlet应用名字

<servlet-class>cn.mldn.lxh.servlet.SimpleServlet</servlet-class>//我们定义的servlet应用名字对应的具体servlet文件

</servlet>

<servlet-mapping> //地址映射

<servlet-name>simple</servlet-name>//我们定义的servlet应用名字

<url-pattern>/demo</url-pattern>//地址名

</servlet-mapping>

////////////////////////////////////////////////////////////////////////////////////////////

进行地址映射目的是为了使用servlet,它的工作过程是:

工作过程:

输入地址:http://localhost:8080/ demo,通过它找到映射文件内部的文件名simple,通过simple找到对应的<servlet-name>simple</servlet-name>,然后定位到这个servlet文件:cn.mldn.lxh.servlet.SimpleServlet



由此可见,<servlet-name>simple</servlet-name>中的名字simple不一定一定要与servlet的文件名“SimpleServlet.java”一致,它只是在对web.xml文件配置的时候我们对servlet应用名字的定义,通过<servlet-class>cn.mldn.lxh.servlet.SimpleServlet</servlet-class>我们就可以定位到这个servlet文件。

 

 

同普通的工程一样,建立一个java程序,不过这个程序要 extendsServlet,而且没有主方法

public class HelloWorldServlet extends HttpServlet{

@SuppressWarnings("deprecation")
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<html><head><title>人数anjinbaliang</title></head>");
out.println("<body>baliang ai banjin ,it‘s right!"+new Date().toLocaleString()+"</body></html>");
out.flush();
}
}

在WebRoot->WEB-INF->web.xml内的最后一行的前面修改如下:

<servlet>
<servlet-name>HelloWorldServlet</servlet-name> //这个为servlet的类名
<servlet-class>MyEclipse.HelloWorldServlet</servlet-class> //完整的类名
</servlet>

<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name> //这个同上面的第一个一样,为servlet的类名
<url-pattern>/HelloWorldServlet</url-pattern> // 一定要有一个/ 加上类名 这个对于的是网址中文件夹/test后面的子目录,通过这个对应得到上面servlet-name的名字,HelloWorldServlet,再通过这个名字得到<servlet>内的<servlet-name>(与子对应关系),从而得到<servlet-class>实例化出一个MyEclipse.HelloWorldServlet类

</servlet-mapping>


</web-app>//最后一行

 

java web.xml配置servlet

标签:

原文地址:http://www.cnblogs.com/cyy-13/p/5788408.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!