JavaWeb Servlet使用总结

本文主要探讨了JavaWeb中Servlet的使用,包括@ServletWeb注解的详细解析,参数配置方法,请求与响应机制,web.xml参数读取方式,以及Servlet间的跳转和线程安全问题。通过实例分析,展示了如何实现Servlet的注解配置,以及如何在不同场景下正确处理请求和响应。同时,强调了Servlet线程安全的重要性。
摘要由CSDN通过智能技术生成

一、@WebServlet注解

假如输入小写的http://localhost:8088/HelloWorld/helloWorld,会出现错误的页面,如下图,这里可能会有疑问:为什么输入大写的就显示正常而输入小写的就报错呢?而且也没有和上一篇博客写的在web.xml中配置ServletName等这些参数也能运行。这是什么原因呢?

其实这主要是@WebServlet注解在起作用。Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署描述,简化开发流程。开发Servlet3的程序需要一定的环境支持。Servlet3是Java EE6规范的一部分,MyEclipse10和Tomcat7都提供了对Java EE6规范的支持。Tomcat需要Tomcat7才支持Java EE6,Tomcat7需要使用JDK6。关于注解以后有机会会专门写一博客来研究它,这里主要是@WebServlet注解的使用。

使用@WebServlet将一个继承于javax.servlet.http.HttpServlet的类定义为Servlet组件。
@WebServlet有很多的属性:
asyncSupported:声明Servlet是否支持异步操作模式。
description:Servlet的描述。
displayName:Servlet的显示名称。
initParams:Servlet的init参数。
name:Servlet的名称。
urlPatterns: Servlet的访问URL。
value: Servlet的访问URL。
Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。

这里我们对代码稍作修改就可以实现大小写都支持

/*@WebServlet("/HelloWorld")*/
@WebServlet(name = "HelloWorld", urlPatterns = {
  "/helloWorld","/HelloWorld"})
public class HelloWorld extends HttpServlet {
   

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
         try 
         {
             out.println("<html>");
             out.println("<head>");
             out.println("<title>HelloWorld</title>");
             out.println("</head>");
             out.println("<body>");
             out.println("<h2>HelloWorld</h2>");
             out.println("</body>");
             out.println("</html>");

         } 
         finally 
         {
             out.close();

         }
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

二、参数配置

1.Servlet的参数配置

上面使用@WebServlet注解来实现映射,不过要Servlet3.0以后才支持,在web.xml中配置是一比较常见的方式。还是以HelloWrold项目为demo,在web.xml中进行如下配置,也能达到@WebServlet注解的效果。配置在xml中的参数修改只需要重启下服务器就好,不用再修改Servlet类。

<servlet>
      <servlet-name>HelloWorld</servlet-name>
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值