• 又一本springmvc学习指南 之---第22篇 springmvc 加载.xml文件的bean标签的过程


    writedby 张艳涛,今天看spring mvc 学习指南的第2章,特意提下这个作者是how tomcat works 俩个作者之一,

    喜欢上一本书的风格,使用案例来讲述原理,

    在做第一个案例的时候发现了一些问题在此记录一下,

    问题1,el表达式失效

    解决方法1,在jsp页面加上<%@page isELIgnored="false"%>,因为在jsp2.0之前的规范不支持el表达式

    <%@page isELIgnored="false"%>
    <!DOCTYPE html>
    <html>
    <head>
    <title>Save Product</title>
    <style type="text/css">@import url(css/main.css);</style>
    </head>
    <body>
    <div id="global">
        <h4>The product has been saved.</h4>
        <p>
            <h5>Details:</h5>
            Product Name: ${product.name}<br/>
            Description: ${product.description}<br/>
            Price: $${product.price}
        </p>
    </div>
    </body>
    </html>

    方法2, 在web.xml的<web-app>标签内加入版本信息

    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd">
    
     <web-app version="2.5"
    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" >
      <servlet>
        <servlet-name>ControllerServlet</servlet-name>
        <servlet-class>appdesign1.controller.ControllerServlet</servlet-class>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>ControllerServlet</servlet-name>
        <url-pattern>/appdesign1/*</url-pattern>
      </servlet-mapping>
    </web-app>

    我做这个例子的时候是将他的webapp文件方法里tomcat的webapps目录下面的.作为tomcat的一个工程

    这里遇到几个问题

    1. 每次tomcat编译新的class文件,org.apache.tomcat.xxx.xxx目录下的.properties文件都消失了?怎么回事
    2. 如果调试webpp,在idea中,如何添加web应用的源码
    3. 为什么eclipse不用添加web.xml来配置接入的ControllerServlet.class,
    4. 如果eclipse打包,生成的webapp.war中会有web.xml文件吗?

    解答

    问题1, idea的有针对这个的选项

    问题2:将源码文件比如说原书中对应的源码在src/目录下面那么将src下面的文件拷贝到ida src/main/java/目录下就行了

    问题3.这个不是eclipse的原因是serlvet3.0的特性支持,你在tomcat4中还不支持

    @WebServlet(name = "ControllerServlet", urlPatterns = {
            "/input-product", "/save-product" })

    这个注解就是对应了servlet标签

      <servlet>
        <servlet-name>ControllerServlet</servlet-name>
        <servlet-class>appdesign1.controller.ControllerServlet</servlet-class>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>ControllerServlet</servlet-name>
        <url-pattern>/appdesign1/*</url-pattern>
      </servlet-mapping>

    颜色相同的定义是一样的

    比如你在tomcat4.0上这个注解是变红的

    问题4,和问题3是一回事,你自己有web.xml,打包就有,没有不会给你生成,

  • 相关阅读:
    通过指定的“虚拟路径”返回路径下“文件名列表”
    ASP.NET Session丢失问题原因及解决方案
    纯CSS打造Bubble气泡提示框
    分享几个超级震憾的图片特效
    有了jQuery.Jcrop,选取美女的哪个部位你说了算
    jQueryTranslator调用Google翻译实例及源码【译】
    轻松学习正则表达式【译】
    Android系统源代码情景分析:基础知识
    HTML5斯诺克桌球俱乐部【译】
    ASP.NET中使用V3版本的Google Maps API【译】
  • 原文地址:https://www.cnblogs.com/zytcomeon/p/15055892.html
Copyright © 2020-2023  润新知