1、web.xml文件配置的说明
Web.xml文件配置详解部署描述符实际上是一个XML文件,包含了很多描述servlet/JSP应用的各个方面的元素,如servlet注册、servlet映射以及监听器注册。
部署描述符从下面的XML头开始:<?xml version="1.0" encoding="ISO-8859-1"?>这个头指定了XML的版本号以及所使用的编码。
头的下面是DOCTYPE声明:<!DOCTYPE web-appPUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "/dtd/web-app_2_3.dtd">这段代码指定文件类型定义(DTD),可以通过它检查XML文档的有效性。
下面显示的<!DOCTYPE>元素有几个特性,这些特性告诉我们关于DTD的信息:● web-app定义该文档(部署描述符,不是DTD文件)的根元素● PUBLIC意味着DTD文件可以被公开使用● "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"意味着DTD 由Sun Microsystems, Inc.维护。
该信息也表示它描述的文档类型是DTD Web Application 2.3,而且DTD是用英文书写的。
● URL"/dtd/web-app_2_3.dtd"表示D文件的位置。
注意:在部署描述符中, <!--…-->用于注释。
部署描述符的根元素是web-app。
DTD文件规定,web-app元素的子元素的语法如下:<!ELEMENT web-app (icon?, display-name?, description?, distributable?, context-param*, filter*, filter-mapping*,listener*, servlet*, servlet-mapping*, session-config?,mime-mapping*, welcome-file-list?,error-page*, taglib*, resource-env-ref*, resource-ref*,security-constraint*, login-config?, security-role*,env-entry*,ejb-ref*, ejb-local-ref*)>正如您所看到的,这个元素含有23个子元素,而且子元素都是可选的。
问号(?)表示子元素是可选的,而且只能出现一次。
星号(*)表示子元素可在部署描述符中出现零次或多次。
有些子元素还可以有它们自己的子元素。
web.xml文件中web-app元素声明的是下面每个子元素的声明。
下面的章节讲述部署描述符中可能包含的所有子元素。
注意:在Servlet 2.3中,子元素必须按照DTD文件语法描述中指定的顺序出现。
比如,如果部署描述符中的web-app元素有servlet和servlet-mapping两个子元素,则servlet子元素必须出现在servlet-mapping子元素之前。
在Servlet 2.4中,顺序并不重要。
下面对web.xml文件各元素进行详解1. icon元素icon元素用来指定GIF格式或JPEG格式的小图标(16×16)或大图标(32×32)的文件名。
<!ELEMENT icon (small-icon?, large-icon?)><!ELEMENT small-icon (#PCDATA)><!ELEMENT large-icon (#PCDATA)>icon元素包括两个可选的子元素:small-icon子元素和large-icon子元素。
文件名是Web应用归档文件(WAR)的根的相对路径。
部署描述符并没有使用icon元素。
但是,如果使用XML工具编辑部署描述符,XML编辑器可以使用icon元素。
2. display-name元素如果使用工具编辑部署描述符,display-name元素包含的就是XML编辑器显示的名称。
<!ELEMENT display-name (#PCDATA)>下面是一个含有display-name元素的部署描述符:<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-appPUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "/dtd/web-app_2_3.dtd"><web-app><display-name>Online Store Application</display-name></web-app>3. description元素可以使用description元素来提供有关部署描述符的信息。
XML编辑器可以使用description元素的值。
<!ELEMENT description (#PCDATA)>4. distributable元素可以使用distributable元素来告诉servlet/JSP容器,编写将在分布式Web 容器中部署的应用:<!ELEMENT distributable EMPTY>例如,下面是一个含有distributable元素的部署描述符的例子:<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-appPUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "/dtd/web-app_2_3.dtd"><web-app><distributable/></web-app>5. context-param元素context-param元素含有一对参数名和参数值,用作应用的servlet上下文初始化参数。
参数名在整个Web应用中必须是惟一的。
<!ELEMENT context-param (param-name, param-value, description?)><!ELEMENT param-name (#PCDATA)><!ELEMENT param-value (#PCDATA)><!ELEMENT description (#PCDATA)>param-name 子元素包含有参数名,而param-value子元素包含的是参数值。
作为选择,可用description子元素来描述参数。
下面是一个含有context-param元素的有效部署描述符:<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-appPUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "/dtd/web-app_2_3.dtd"><web-app><context-param><param-name>jdbcDriver</param-name><param-value>com.mysql.jdbc.Driver</param-value></context-param></web-app>6. filter元素filter元素用于指定Web容器中的过滤器。
在请求和响应对象被servlet处理之前或之后,可以使用过滤器对这两个对象进行操作。
利用下一节介绍的filter-mapping元素,过滤器被映射到一个servlet或一个URL模式。
这个过滤器的filter元素和filter-mapping 元素必须具有相同的名称。
<!ELEMENT filter (icon?, filter-name, display-name?, description?, filter-class, init-param*)><!ELEMENT filter-name (#PCDATA)><!ELEMENT filter-class (#PCDATA)>icon、display-name和description元素的用法和上一节介绍的用法相同。
init-param元素与context-param 元素具有相同的元素描述符。
filter-name 元素用来定义过滤器的名称,该名称在整个应用中都必须是惟一的。
filter-class元素指定过滤器类的完全限定的名称。
下面是一个使用filter元素的部署描述符的例子:<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-appPUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "/dtd/web-app_2_3.dtd"><web-app><filter><filter-name>Encryption Filter</filter-name><filter-class>com.branysoftware.EncryptionFilter</filter-class></filter></web-app>7. filter-mapping元素filter-mapping元素用来声明Web应用中的过滤器映射。
过滤器可被映射到一个servlet或一个URL模式。
web.xml的初始化参数
web.xml的初始化参数web.xml的初始化参数---------⾸先声明,这⾥所介绍的是web中context-param,init-param参数的初始化配置-------------------------------------------------------------------------------------------------------------⼀、初始化参数 web.xml⾥⾯可以定义两种参数: (1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下: <context-param><param-name>context/param</param-name><param-value>avalible during application</param-value></context-param> (2)servlet范围内的参数,只能在servlet的init()⽅法中取得,在web.xml中配置如下:<servlet><servlet-name>MainServlet</servlet-name><servlet-class>cn.jbit.controller.MainServlet</servlet-class><init-param><param-name>param1</param-name><param-value>avalible in servlet init()</param-value></init-param><load-on-startup>0</load-on-startup></servlet>在servlet中可以通过代码分别取⽤:package cn.jbit.controller;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;public class MainServlet extends HttpServlet {public MainServlet() {super();}public void init() throws ServletException {System.out.println("下⾯的参数是存放在servletcontext中的");System.out.println(getServletContext().getInitParameter("context/param"));System.out.println("下⾯的两个参数param1是在servlet中存放的");System.out.println(this.getInitParameter("param1"));}}第⼀种参数在servlet⾥⾯可以通过getServletContext().getInitParameter("context/param")得到第⼆种参数只能在servlet的init()⽅法中通过this.getInitParameter("param1")取---------------------------------------------------------------------------------------------------------------------------------------⼆、初始化参数获<!--application 模式--><context-param><param-name>count</param-name><param-value>1200</param-value></context-param><!--servlet--><servlet><description>loginServlet</description><display-name>loginServlet</display-name><servlet-name>loginServlet</servlet-name><servlet-class>loginServlet</servlet-class> <!--servlet 初始化时 init()--> <init-param><description>系统初始化数</description><param-name>num</param-name><param-value>100</param-value></init-param></servlet><servlet-mapping><servlet-name>loginServlet</servlet-name><url-pattern>/loginServlet</url-pattern></servlet-mapping>在servlet中获取参数的⽅法以及异同:response.setCharacterEncoding("gb2312");System.out.println("getServletContext():"+getServletContext());ServletContext context=getServletConfig().getServletContext();String num=context.getInitParameter("num");// <init-param> 获取不到值String count=context.getInitParameter("count");//<context-param> 获取到值System.out.println("num:"+num);//nullSystem.out.println("count:"+count);//1200System.out.println("num:"+getServletConfig().getInitParameter("num"));//100获取到值System.out.println("count:"+getServletConfig().getInitParameter("count"));//null获取不到值。
servlet在web.xml中配置方法
一、介绍servlet在web.xml中的配置方法Servlet是Java编写的服务器端程序,它可以响应客户端的请求并生成动态内容。
在Java Web开发中,通常会使用Servlet来处理用户的请求并生成响应。
而在配置Servlet时,web.xml文件是一个重要的配置文件,其中包含了Servlet的配置信息。
本文将介绍Servlet在web.xml中的配置方法。
二、创建Servlet类在配置Servlet之前,首先需要创建一个Servlet类。
可以通过继承javax.servlet.网络协议.HttpServlet类来创建Servlet类,该类必须实现doGet()或doPost()方法来处理请求。
下面是一个简单的Servlet 类的代码:```javaimport javax.servlet.网络协议.HttpServlet;import javax.servlet.网络协议.HttpServletRequest;import javax.servlet.网络协议.HttpServletResponse;public class HelloWorldServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) {//处理GET请求的逻辑}protected void doPost(HttpServletRequest request, HttpServletResponse response) {//处理POST请求的逻辑}}```三、在web.xml中配置Servlet在web.xml文件中使用<servlet>和<servlet-mapping>元素来配置Servlet。
首先在<servlet>元素中指定Servlet的名称和Servlet类的完整路径,例如:```xml<servlet><servlet-name>HelloWorldServlet</servlet-name><servlet-class.example.HelloWorldServlet</servlet-class></servlet>```其中,<servlet-name>用于标识Servlet的名称,<servlet-class>指定了Servlet类的完整路径。
Web.xml配置详解之context
Web.xml配置详解之context•格式定义:[html] view plaincopy1.<context-param>2.<param-name>contextConfigLocation</param-name>3.<param-value>contextConfigLocationValue></param-value>4.</context-param>作用:该元素用来声明应用范围(整个WEB项目)内的上下文初始化参数。
param-name 设定上下文的参数名称。
必须是唯一名称param-value 设定的参数名称的值•初始化过程:1.在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>。
2.接着容器会创建一个ServletContext(上下文),应用范围内即整个WEB项目都能使用这个上下文。
3.接着容器会将读取到<context-param>转化为键值对,并交给ServletContext。
4.容器创建<listener></listener>中的类实例,即创建监听(备注:listener定义的类可以是自定义的类但必须需要继承ServletContextListener)。
5.在监听的类中会有一个contextInitialized(ServletContextEvent event)初始化方法,在这个方法中可以通过event.getServletContext().getInitParameter("contextConfigLocat ion") 来得到context-param 设定的值。
在这个类中还必须有一个contextDestroyed(ServletContextEvent event) 销毁方法.用于关闭应用前释放资源,比如说数据库连接的关闭。
web.xml详解
web.xml详解我们都知web项⽬的运⾏,通常会⾸先加载web.xml⽂件,但却对web.xml⽂件知之甚少,今天就来揭开它的⾯纱,⼀睹它的真容!⼀.web.xml是什么?web.xml是web项⽬的配置⽂件,⼀般的web⼯程都会⽤到web.xml来配置,主要⽤来配置Listener,Filter,Servlet等。
但需要注意的是:web.xml并不是必须的,⼀个web⼯程可以没有web.xml⽂件⼆.web项⽬加载web.xml过程Tomcat启动web项⽬时,web容器就会的加载⾸先加载web.xml⽂件,加载过程如下:1.web项⽬加载web.xml,读取context-param和listener这两个结点,2.创建⼀个ServletContext(Servlet上下⽂),整个项⽬会共享这个ServletContext3.容器将<context-param>转换为键值对,并交给ServletContext4.容器创建<listener>中的类实例,创建监听器三.web.xml元素详解⾸先是表明xml的使⽤版本。
<?xml version="1.0" encoding="UTF-8"?>web-app是web.xml的根元素,包含着web.xml所有⼦元素。
xmlns以及xmlns:xsi后⾯引进的连接是表明web.xml引进的模式⽂件,便能拥有该模式的相关功能。
<web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_1.xsd"version="3.1"></web-app>指明项⽬名称<display-name>web-SSMTest</display-name>web项⽬加载web.xml⾸先读取这两个结点,加载spring容器及创建spring监听器;ApplicationContext.xml 是spring 全局配置⽂件,⽤来控制spring 特性的ContextLoaderListener的作⽤就是启动Web容器时,⾃动装配ApplicationContext的配置信息。
webservice xml参数
webservice xml参数WebService是一种基于XML的远程调用协议,通过使用XML来描述和传递数据,实现跨平台和跨语言的通信。
本文将详细介绍WebService中的XML参数,并探讨其在实际应用中的使用。
一、XML参数的概念和作用在WebService中,XML参数指的是通过XML格式传递的数据。
XML (可扩展标记语言)是一种用于描述数据的标记语言,具有自我描述性和可扩展性的特点。
通过使用XML参数,可以在不同的平台和语言之间传递和解析数据,实现应用程序之间的数据交换。
XML参数在WebService中起到了至关重要的作用。
它可以实现不同系统之间的数据传递和交互,使得系统之间可以进行有效的通信和协作。
通过使用XML参数,可以将复杂的数据结构进行序列化和反序列化,方便数据的传输和解析。
同时,XML参数还可以定义数据的结构和类型,确保数据的准确性和完整性。
二、XML参数的使用方法在WebService中,使用XML参数可以通过以下几个步骤来实现:1. 定义XML参数的结构和类型:首先,需要定义XML参数的结构和类型。
可以使用XML Schema语言来定义参数的结构和约束条件,确保数据的一致性和有效性。
2. 序列化参数数据:将需要传递的数据按照XML参数的结构进行序列化。
可以使用编程语言提供的XML序列化工具,将数据转换为符合XML参数结构的XML文档。
3. 传递XML参数:将序列化后的XML参数通过WebService的调用进行传递。
可以使用SOAP协议来封装和传输XML参数,确保数据的安全性和完整性。
4. 解析XML参数:在接收端,需要对传递过来的XML参数进行解析。
可以使用编程语言提供的XML解析工具,将XML文档转换为内存中的数据结构,方便后续的处理和操作。
三、XML参数的优势和应用场景XML参数作为WebService中常用的数据传递方式,具有以下几个优势:1. 跨平台和跨语言:XML参数可以在不同的平台和语言之间进行传递和解析,实现系统之间的互通。
web.xml文件中的7个错误的安全配置
web.xml⽂件中的7个错误的安全配置关于Java的web.xml⽂件中配置认证和授权有。
本⽂不再去重新讲解如何配置⾓⾊、保护web资源和设置不同类型的认证,让我们来看看web.xml⽂件中的⼀些常见的安全错误配置。
(1) ⾃定义的错误页⾯没有配置默认情况下,Java Web应⽤在发⽣错误时会将详细的错误信息展⽰出来,这将暴露服务器版本和详细的堆栈信息,在有些情况下,甚⾄会显⽰Java代码的代码⽚段。
这些信息对为他们的病毒需找更多信息的⿊客来说是⼀种恩惠。
幸运的是,通过配置web.xml⽂件来展⽰⾃定义的错误页⾯是⾮常容易的。
使⽤如下的配置后⽆论服务器在任何时候发⽣HTTP500错误,⼀个⾮常好的错误页⾯就会被显⽰出来。
你可以为HTTP状态码添加另外的错误页⾯。
1 2 3 4<error-page><error-softwaresecurity>500</error-softwaresecurity> <location>/path/to/error.jsp</location></error-page>另外,web.xml⽂件应该被配置以防⽌详细的错误堆栈信息被显⽰出来,我们可以通过配置<exception-type>来实现。
因为Throwable是Java 中所有Exception和Error的基类,下⾯的代码⽚段将很好的确保堆栈信息不被服务器显⽰。
1 2 3 4<error-page><exception-type>ng.Throwable</exception-type> <location>/path/to/error.jsp</location></error-page>然⽽,如果你采⽤如下的处理⽅式,你依然会将堆栈信息展⽰出来:<%try {String s = null;s.length();} catch (Exception e) {// don't do this!e.printStackTrace(new PrintWriter(out));}%>这⾥请记住在合理配置了你的web.xml⽂件后,需要使⽤合理的。
weblgoic使用手册
Weblogic使用手册1、weblogic上下文路径问题:weblogic.xml文件内容如下错误的配置如下<weblogic-web-app><context-root>/</context-root><virtual-directory-mapping><local-path>Z:/message/upload</local-path><url-pattern>/message/upload/*</url-pattern></virtual-directory-mapping></weblogic-web-app>正确的配置如下<weblogic-web-app><context-root>/</context-root><virtual-directory-mapping><local-path>z:/</local-path><url-pattern>/*</url-pattern></virtual-directory-mapping></weblogic-web-app>为啥第一个访问不了呢???原因就在<context-root>/</context-root>上。
>>>>>>>>>>>>>>>>>>>>>>>>>摘自文档开始context-rootcontext-root 元素定义该独立Web 应用程序的上下文根。
如果Web 应用程序不是独立的,而属于某EAR 的一部分,请在该EAR 的META-INF/application.xml 文件中指定上下文根。
web.xml文件配置详解以及实例说明
web.xml⽂件配置详解以及实例说明1、web.xml学名叫部署描述符⽂件,是在Servlet规范中定义的,是web应⽤的配置⽂件。
2、部署描述符⽂件就像所有XML⽂件⼀样,必须以⼀个XML头开始。
这个头声明可以使⽤的XML版本并给出⽂件的字符编码。
DOCYTPE 声明必须⽴即出现在此头之后。
这个声明告诉服务器适⽤的servlet规范的版本(如2.2或2.3)并指定管理此⽂件其余部分内容的语法的DTD(Document Type Definition,⽂档类型定义)。
所有部署描述符⽂件的顶层(根)元素为web-app。
请注意,XML元素不像HTML,他们是⼤⼩写敏感的。
因此,web-App和WEB-APP都是不合法的,web-app必须⽤⼩写。
web.xml样例:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application //EN" "/dtd/web-app_2_3.dtd"><web-app></web-app>3、web.xml中XML 元素不仅是⼤⼩写敏感的,⽽且它们还对出现在其他元素中的次序敏感。
例如,XML头必须是⽂件中的第⼀项,DOCTYPE声明必须是第⼆项,⽽web- app元素必须是第三项。
在web-app元素内,元素的次序也很重要。
服务器不⼀定强制要求这种次序,但它们允许(实际上有些服务器就是这样做的)完全拒绝执⾏含有次序不正确的元素的Web应⽤。
这表⽰使⽤⾮标准元素次序的web.xml⽂件是不可移植的。
元素顺序列表:元素标签详解:元素1:<icon>含义icon元素包含small-icon和large-icon两个⼦元素.⽤来指定web站台中⼩图标和⼤图标的路径.<small-icon>/路径/smallicon.gif</small-icon>small-icon元素应指向web站台中某个⼩图标的路径,⼤⼩为16 X 16 pixel,但是图象⽂件必须为GIF或JPEG格式,扩展名必须为:.gif或.jpg.<large-icon>/路径/largeicon-jpg</large-icon>large-icon元素应指向web站台中某个⼤图表路径,⼤⼩为32 X 32 pixel,但是图象⽂件必须为GIF或JPEG的格式,扩展名必须为; gif或jpg.范例<icon><small-icon>/images/small.gif</small-icon><large-icon>/images/large.gif</large-icon></icon>元素2、3:<display-name>,<description>含义<display-name>应⽤名称</display-name>定义应⽤的名称。
XML格式文件的应用与打开方法
XML格式文件的应用与打开方法一、什么是xml格式文件XML是可扩展标记语言(eXtensible Markup Language)的缩写,它是一种用于标记电子文件结构和传输数据的标记语言。
XML文件使用自定义标签来描述数据的结构和含义,可以被用于在不同系统之间进行数据交换和共享。
XML文件可以被解析和处理,使得数据能够被有效地存储、传输和展示。
XML被广泛应用于Web开发、数据交换、配置文件等领域。
二、XML格式文件的应用1. Web开发XML(可扩展标记语言)是用于存储和传输数据的标准标记语言,它与HTML一起被广泛用于创建动态和交互式的网页。
在网页开发中,XML常被用于存储配置信息,如网站的元数据、页面的布局和样式等。
此外,XML还用于在不同系统之间进行数据交换,使得数据能在不同的应用程序和平台上共享和交互。
由于其结构化、灵活性和跨平台性,XML在数据存储和传输领域发挥着不可或缺的作用。
在网页开发中,XML有诸多优势,使得它在数据存储和传输方面成为理想的选择。
首先,XML的结构化特性使得数据易于理解和解析,这对于在不同系统间进行数据交换非常关键。
其次,XML的跨平台性使得数据可以在不同的应用程序和操作系统上共享和交互。
此外,XML还具有灵活性,可以轻松地表示复杂的数据结构,并支持自定义标记,以适应特定应用的需求。
在网页开发中,利用这些优势,XML可以用于存储配置信息、实现数据驱动的动态内容、以及与其他系统进行数据交换等。
通过合理地使用XML,可以提高网页的可维护性、可扩展性和交互性,为创建高性能的网站提供有力支持。
2. 数据交换XML的跨平台性和标准化特性,使其成为不同系统之间进行数据交换的理想选择。
在Web服务中,XML被广泛用于传输数据,使得不同的应用程序能够通过统一的格式进行数据交换。
它能够清晰地表示数据的结构和含义,使得不同系统能够准确解析和解读数据。
此外,XML还可以在不同数据库之间进行数据转换,实现数据的共享和集成。
springMVC配置(XML配置详解)
springMVC配置(XML配置详解)原⽂出⾃:web.xml配置:servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><description>加载/WEB-INF/spring-mvc/⽬录下的所有XML作为Spring MVC的配置⽂件</description><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring-mvc/*.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>*.htm</url-pattern></servlet-mapping>这样,所有的.htm的请求,都会被DispatcherServlet处理;初始化 DispatcherServlet 时,该框架在 web 应⽤程序WEB-INF ⽬录中寻找⼀个名为[servlet-名称]-servlet.xml的⽂件,并在那⾥定义相关的Beans,重写在全局中定义的任何Beans,像上⾯的web.xml中的代码,对应的是dispatcher-servlet.xml;当然也可以使⽤<init-param>元素,⼿动指定配置⽂件的路径;dispatcher-servlet.xml 配置:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:mvc="/schema/mvc"xmlns:p="/schema/p"xmlns:context="/schema/context"xmlns:aop="/schema/aop"xmlns:tx="/schema/tx"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd/schema/context/schema/context/spring-context-3.0.xsd/schema/aop/schema/aop/spring-aop-3.0.xsd/schema/tx/schema/tx/spring-tx-3.0.xsd/schema/mvc/schema/mvc/spring-mvc-3.0.xsd/schema/context/schema/context/spring-context-3.0.xsd"><!--使Spring⽀持⾃动检测组件,如注解的Controller--><context:component-scan base-package="com.minx.crm.web.controller"/><bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"p:prefix="/WEB-INF/jsp/"p:suffix=".jsp" /></beans>第⼀个Controller:package com.minx.crm.web.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class IndexController {@RequestMapping("/index")public String index() {return "index";}}@Controller注解标识⼀个控制器,@RequestMapping注解标记⼀个访问的路径(/index.htm),return "index"标记返回视图(index.jsp);注:如果@RequestMapping注解在类级别上,则表⽰⼀相对路径,在⽅法级别上,则标记访问的路径;从@RequestMapping注解标记的访问路径中获取参数:Spring MVC ⽀持RESTful风格的URL参数,如:@Controllerpublic class IndexController {@RequestMapping("/index/{username}")public String index(@PathVariable("username") String username) {System.out.print(username);return "index";}}在@RequestMapping中定义访问页⾯的URL模版,使⽤{}传⼊页⾯参数,使⽤@PathVariable 获取传⼊参数,即可通过地址:http://localhost:8080/crm/index/tanqimin.htm 访问;根据不同的Web请求⽅法,映射到不同的处理⽅法:使⽤登陆页⾯作⽰例,定义两个⽅法分辨对使⽤GET请求和使⽤POST请求访问login.htm时的响应。
