Rossen Stoyanchev
d3f4c69f00
SPR-8803 Add UriComponentsBuilder methods to replace path/query.
2011-11-04 16:43:03 +00:00
Arjen Poutsma
78fbceff82
Added check for illegal characters when creating an encoded UriComponents object
2011-11-03 11:57:25 +00:00
Arjen Poutsma
e8dd35ce5e
Added check for expanding already encoded UriComponents object
2011-11-02 11:49:45 +00:00
Rossen Stoyanchev
1164f5a9fc
SPR-8782 Raise helpful error when RedirectAttributes is used with old infrastructure classes.
2011-11-01 11:46:09 +00:00
Juergen Hoeller
2fdc2b5822
fixed StandardServlet/PortletEnvironment to check for JNDI (for Google App Engine compatibility)
2011-10-20 10:46:16 +00:00
Chris Beams
f60a40be44
Polish Environment subsystem Javadoc
2011-10-11 18:51:26 +00:00
Juergen Hoeller
0d02ef5fe5
removed conversation prototype from 3.1 codebase
2011-10-11 16:22:15 +00:00
Rossen Stoyanchev
b08c7f6e00
SPR-6801 @ModelAttribute instantiation refinement.
...
Instantiate the model attribute from a URI var or a request param only
if the name matches and there is a registered Converter<String, ?>.
2011-09-27 22:48:12 +00:00
Arjen Poutsma
5afe139285
SPR-8706 - UriUrils.decode() not properly rejecting invalid escaped URLs
2011-09-27 08:55:07 +00:00
Arjen Poutsma
67fda70cb8
SPR-8713 - DefaultResponseErrorHandler IOException Bug
2011-09-27 08:16:33 +00:00
Rossen Stoyanchev
48f7dcc464
POLISH CREATION OF DATA BINDERS FOR @RequestMapping METHODS
...
Make it possible to hook in custom ServletRequestDataBinderFactory
by overriding RequestMappingHandlerAdapter.
Create ExtendedServletRequestDataBinder to add URI template vars
to the binding values taking advantage of a new extension hook in
ServletRequestDataBinder to provide additional values to bind.
2011-09-26 09:27:09 +00:00
Rossen Stoyanchev
6bc4ea058c
POLISH ARGUMENT RESOLVERS AND RETURN VALUE HANDLERS.
2011-09-24 11:34:07 +00:00
Rossen Stoyanchev
fb526f534a
SPR-8700 REFINE ORDER OF ARGUMENT RESOLUTION AND RETURN VALUE HANDLING.
...
1. Consider single-purpose return value types like HttpEntity, Model,
View, and ModelAndView ahead of annotations like @ResponseBody and
@ModelAttribute. And reversely consider multi-purpose return value
types like Map, String, and void only after annotations like
@RB and @MA.
2. Order custom argument resolvers and return value handlers after the
built-in ones also clarifying the fact they cannot be used to override
the built-in ones in Javadoc throughout.
3. Provide hooks in RequestMappingHandlerAdapter that subclasses can use
to programmatically modify the list of argument resolvers and return
value handlers, also adding new getters so subclasses can get access
to what they need for the override.
4. Make SessionStatus available through ModelAndViewContainer and
provide an argument resolver for it.
5. Init test and javadoc improvements.
2011-09-22 16:00:22 +00:00
Rossen Stoyanchev
7a3f02bce9
SPR-8688 Don't use Servlet request params for form 'PUT' in ServletServerHttpRequest.
2011-09-20 09:18:47 +00:00
Rossen Stoyanchev
71cc38aaff
SPR-6464 Update reference doc with FlashMap and RedirectAttributes information.
2011-09-16 16:44:11 +00:00
Rossen Stoyanchev
b2d88ba858
SPR-6464 Polish following code review.
2011-09-15 18:12:30 +00:00
Arjen Poutsma
aeba9d244a
SPR-5973: now dealing with path followed by segments (and vice-versa) correctly.
2011-09-15 10:24:21 +00:00
Arjen Poutsma
38f05678c1
SPR-5973: UriComponents now encapsulates uri template variables
2011-09-14 14:36:49 +00:00
Arjen Poutsma
3f2ea7f50e
SPR-5973: UriComponents now encapsulates a PathCompont, switching between string paths and path segment lists automatically.
2011-09-14 14:09:57 +00:00
Arjen Poutsma
1b61f27f5b
polishing
2011-09-14 14:01:21 +00:00
Arjen Poutsma
663f056329
SPR-5973: UriComponents no longer a Map, moved all static methods from UriComponents to builder, added expand method to UriComponents
2011-09-13 14:12:54 +00:00
Rossen Stoyanchev
28a696ba51
SPR-8676 Fix minor issue in how ServletServletHttpRequest detects form content-type requests
2011-09-13 12:35:05 +00:00
Rossen Stoyanchev
2799e710bc
SPR-6464 Add 'setAlwaysUseRedirectAttributes' flag.
...
When set to 'true' the flag makes RedirectAttributes the only way to add
attributes for a redirect thus ignoring the content of the default model
even if RedirectAttributes is not in the list of controller method args.
2011-09-13 07:53:17 +00:00
Arjen Poutsma
c8add61a72
SPR-5973: Using UriComponents in more places, replaced UriBuilder by UriComponentsBuilder, UriComponents is now immutable.
2011-09-12 14:39:58 +00:00
Arjen Poutsma
f0ed37c233
SPR-5973: UriUtils.parse returns UriComponents
2011-09-09 11:01:05 +00:00
Arjen Poutsma
65baafa032
SPR-5973: Made UriComponent enum inner type of UriComponents
2011-09-09 10:57:13 +00:00
Arjen Poutsma
6c58da0e55
SPR-5973: Added UriComponents type
2011-09-09 10:49:10 +00:00
Rossen Stoyanchev
56c8c69c4c
SPR-8642 IMPROVE ERROR REPORTING WHEN RESOLVING MULTIPART REQUEST METHOD ARGUMENTS
...
Separate client from server errors as much as possible in this order:
- raise MultipartException when resolving a multipart arg and the
request is not a multipart request (400)
- raise IllegalArgumentException when the arg type is MultipartFile
but the request is not of type MultipartHttpServletRequest (500)
- raise MissingServletRequestPartException when a MultipartResolver
is in use but the part is not found (400)
- detect presence of Servlet 3.0 before using standard multipart
parsing to find a request part or raise
IllegalArgumentException (500)
Unfortunately it is not always possible to separate client from
server errors mainly because the Servlet 3.0 API does not
distinguish between the case of 0 request parts vs multipart
processing not being configured.
2011-09-09 09:09:10 +00:00
Arjen Poutsma
b6c1e88e4a
SPR-5973: Cleaning it up
2011-09-08 11:01:56 +00:00
Arjen Poutsma
5f208936ec
Added parse methods
2011-09-07 13:58:51 +00:00
Arjen Poutsma
99f68d3620
SPR-5973: javadoc
2011-09-07 11:49:15 +00:00
Arjen Poutsma
420d11911b
SPR-5973: Extract UriComponentTemplate out of UriTemplate
2011-09-07 11:26:22 +00:00
Arjen Poutsma
1d75e1b250
SPR-5973: Changed UriComponent from inner type to top-level enum
2011-09-07 10:40:40 +00:00
Arjen Poutsma
f1c68f243e
Changed ClientHttpRequestInterceptor array to List
2011-09-07 08:39:58 +00:00
Arjen Poutsma
9a25efbbda
SPR-5973: UriBuilder
2011-09-06 15:42:33 +00:00
Rossen Stoyanchev
91251812b1
Polish @ExceptionHandler method resolution. Allow subclasses to plug in additional @ExceptionHandler methods.
2011-09-02 11:04:23 +00:00
Rossen Stoyanchev
7bf44f06a0
SPR-8596 Detect case in UriPathHelper where originating request query (before forwarding) is null.
2011-08-31 13:00:24 +00:00
Arjen Poutsma
b06de49c72
Changed ClientHttpRequestInterceptor array to List
2011-08-31 09:03:19 +00:00
Rossen Stoyanchev
6a06a17c47
SPR-6464 Add target request matching logic to DefaultFlashMapManager.
2011-08-29 08:37:43 +00:00
Rossen Stoyanchev
00ff018b39
SPR-6464 Uncommitted file from the last commit.
2011-08-25 08:11:17 +00:00
Chris Beams
6db594c79d
Register JndiPropertySource by default in servlet environments
...
Prior to this change, StandardServletEnvironment evaluated a
"jndiPropertySourceEnabled" flag to determine whether or not to add a
JndiPropertySource. Following the changes introduced in SPR-8490, there
is now no reason not to enable a JNDI property source by default. This
change eliminates the support for "jndiPropertySourceEnabled" and adds
a JndiPropertySource automatically.
Issue: SPR-8545, SPR-8490
2011-08-20 03:02:31 +00:00
Juergen Hoeller
36084c348f
fixed timeout assertion
2011-08-15 21:28:13 +00:00
Juergen Hoeller
20f748865e
polishing
2011-08-15 21:23:53 +00:00
Juergen Hoeller
cce1e2010d
added HttpComponentsHttpInvokerRequestExecutor
2011-08-15 21:23:41 +00:00
Juergen Hoeller
f0db3d0992
polishing
2011-08-15 20:57:59 +00:00
Juergen Hoeller
c564049b23
consistent "connectTimeout" and "readTimeout" properties (SPR-8615)
2011-08-15 20:57:42 +00:00
Rossen Stoyanchev
936c83b030
SPR-6464 Add RedirectModel
2011-08-14 22:32:42 +00:00
Rossen Stoyanchev
d746dcaa63
SPR-5628 Use MediaType to parse the content type in HttpPutFormContentFilter
2011-08-14 12:19:06 +00:00
Juergen Hoeller
03c267e93a
added "connectTimeout" and "readTimeout" properties to SimpleClientHttpRequestFactory (SPR-8614)
2011-08-12 22:56:12 +00:00
David Syer
47f45ff743
SPR-8585: add generic composite filter
2011-08-09 10:17:35 +00:00
Rossen Stoyanchev
1df0cd9f20
SPR-6464 Drop @FlashAttributes, add ResponseContext, ViewResponse, and RedirectResponse types for annotated controllers to use to prepare a redirect response with flash attributes; Add FlashMap and FlashMapManager and update DispatcherServlet to discover and invoke the FlashMapManager.
2011-08-08 14:00:07 +00:00
Rossen Stoyanchev
fc4ea16ba0
Replace RequestBodyNotValidException and RequestPartNotValidException with MethodArgumentNotValidException and add MethodParameter information to the exception message.
2011-08-03 15:10:10 +00:00
Juergen Hoeller
8f23c66512
SpringBeanAutowiringSupport is able to process @Value annotations on any given target instance (SPR-8574)
2011-08-03 10:19:27 +00:00
Juergen Hoeller
8745024969
added getContentAsByteArray() and getContentAsString() methods (SPR-8575); actually implemented forward, include and handlePageException methods
2011-08-02 23:52:54 +00:00
Juergen Hoeller
c864908779
Spring JSP tags do not use their own expression support on Servlet 3.0 containers by default; added support for web.xml context-param "springJspExpressionSupport" (explicit "true"/"false")
2011-07-28 20:25:18 +00:00
Rossen Stoyanchev
f4adf227be
SPR-6464 Add @FlashAttributes annotation and FlashStatus method argument
2011-07-27 21:46:36 +00:00
Juergen Hoeller
2c504012ad
HtmlUtils properly escapes single quotes as well
2011-07-27 21:22:04 +00:00
Juergen Hoeller
38837eddfd
HtmlUtils properly escapes single quotes as well
2011-07-27 20:35:41 +00:00
Rossen Stoyanchev
75ad185558
SPR-8561 Permit null values for simple controller method arguments types without annotations.
2011-07-26 12:36:01 +00:00
Juergen Hoeller
d7cd11a48c
consistent update of HeaderValueHolder class
2011-07-26 00:39:01 +00:00
Rossen Stoyanchev
2cf2fc195e
SPR-5628 Add HttpPutFormContentFilter in order to make form encoded data available via ServletRequest.getParameter*()
2011-07-25 18:58:34 +00:00
Juergen Hoeller
179dad8c24
defensive checking that a provided class actually implements WebApplicationInitializer (SPR-8557); avoid early initialization of Commons Logging (using ServletContext logging instead)
2011-07-25 11:33:08 +00:00
Rossen Stoyanchev
3363d05879
SPR-8483 Add integration test for accessing multipart request parts with @RequestPart
2011-07-21 16:24:33 +00:00
Juergen Hoeller
571535352b
revised Servlet 3.0 based StandardServletMultipartResolver for correct param/file distinction; added multipart content type and headers access to MultipartRequest (dropping the previous header access solution on MultipartFile); MultipartFilter uses a Servlet 3.0 based StandardServletMultipartResolver by default
2011-07-20 20:46:53 +00:00
Juergen Hoeller
65ad44dadc
polishing
2011-07-18 20:50:35 +00:00
Rossen Stoyanchev
2568a3c2c6
SPR-8001 Recognize case when MultipartRequest is null and argument is of type MultipartFile and raise helpful exception.
2011-07-18 13:49:47 +00:00
Rossen Stoyanchev
b8c723d080
SPR-8532 Upgrade org.springframework.web.servlet to Servlet 3.0 (as provided dependency) and add support for javax.servlet.Part parameter
2011-07-18 12:06:11 +00:00
Juergen Hoeller
0c2a6395e7
revised package-level request and response classes
2011-07-13 23:14:02 +00:00
Juergen Hoeller
6cd55b7986
ContextLoader and FrameworkServlet support "contextId" parameter for custom serialization id
2011-07-03 22:36:42 +00:00
Juergen Hoeller
36b582682d
added "autoGrowNestedPaths" property to ConfigurableWebBindingInitializer
2011-07-03 21:24:06 +00:00
Chris Beams
ce0a0ff3d4
Move JNDI_PROPERTY_SOURCE_ENABLED_FLAG constant
...
Move JNDI_PROPERTY_SOURCE_ENABLED_FLAG from JndiPropertySource to
StandardServletEnvironment, as this is the only context in which the
constant makes sense.
2011-07-02 21:26:38 +00:00
Chris Beams
fecd6edf75
Fix unnecessary casts in Servlet*PropertySource
2011-06-30 22:34:08 +00:00
Chris Beams
4756badc1d
Prevent NPE in SpringServletContainerInitializer
...
Issue: SPR-8496
2011-06-29 17:33:07 +00:00
Rossen Stoyanchev
0dae1a6bd8
SPR-8447 Provide sufficient contextwherever possible when exceptions are raised in new @MVC classes.
2011-06-29 15:36:18 +00:00
Rossen Stoyanchev
3a87d8e7cb
SPR-8483 Add support for @RequestPart annotated method parameters
2011-06-28 19:22:33 +00:00
Juergen Hoeller
3bbefb3e65
fixed getHeaderNames signature
2011-06-28 14:08:47 +00:00
Juergen Hoeller
0371f569ec
added headers support to MultipartFile abstraction
2011-06-27 23:02:13 +00:00
Rossen Stoyanchev
78470782d4
SPR-8487 Ensure setters for argument resolvers and return value handlers replace the defaults completely.
2011-06-27 22:23:10 +00:00
Chris Beams
24a8a05f24
Polish WebApplicationInitializer Javadoc
2011-06-25 03:49:54 +00:00
Rossen Stoyanchev
1e07af8827
SPR-7608 Add fallback mechanism for instantiating a model attribute from a path variable
2011-06-24 17:18:53 +00:00
Rossen Stoyanchev
8e240d814b
SPR-6909 Improve extension hooks in DefaultDataBinderFactory and subclasses.
2011-06-24 12:04:16 +00:00
Rossen Stoyanchev
efaa941672
SPR-8476 Translate JsonMappingExceptions to HttpMessageNotReadableException (and thus response status code 400) consistent with JsonParseExceptions
2011-06-23 13:17:18 +00:00
Rossen Stoyanchev
69bba30ed8
SPR-8429 Add test cases for missing header, cookie, and pathvar values
2011-06-23 12:47:54 +00:00
Chris Beams
e79e08d7f7
Prefer / or /app/* over /main in servlet examples
2011-06-16 22:42:50 +00:00
Arjen Poutsma
ac7d48e5a8
Fixing tests
2011-06-14 13:16:45 +00:00
Arjen Poutsma
c42671a78a
SPR-7911 - Better handling of 204 No Content in RestTemplate
2011-06-14 10:37:49 +00:00
Chris Beams
ae61aa3555
Revert introduction of AnnotationConfigCapableAC
...
Per review with Juergen in light of SPR-8413, which will revisit the
overall structure of ACAC and ACWAC.
Issue: SPR-8365, SPR-8413
2011-06-09 02:54:34 +00:00
Juergen Hoeller
3b704272e3
polishing
2011-06-08 22:52:43 +00:00
Juergen Hoeller
d5b9b26fea
extended coverage of JSF 2.0 implicit attributes: "viewScope", "flash", "resource"
2011-06-08 00:12:50 +00:00
Arjen Poutsma
fa3e9bdfdd
SPR-7439 - JSON (jackson) @RequestBody marshalling throws awkward exception
2011-06-06 10:33:04 +00:00
Chris Beams
bce9149947
Polish WebApplicationInitializer Javadoc
2011-06-06 08:30:36 +00:00
Rossen Stoyanchev
f1ad53d570
SPR-6709 Update changelog and add one test
2011-06-03 09:38:22 +00:00
Rossen Stoyanchev
d2a99de9fc
Add ModelFactory test for HttpSessionRequiredException
2011-06-03 09:38:16 +00:00
Chris Beams
c3675b44b4
Polish WebApplicationInitializer Javadoc
2011-05-31 06:42:36 +00:00
Chris Beams
847b54f3b1
Sort WebApplicationInitializers properly
...
Issue: SPR-7672
2011-05-31 01:12:34 +00:00
Chris Beams
948aa4f589
Introduce DelegatingFilterProxy constructors
...
Issue: SPR-7672
2011-05-30 12:57:19 +00:00
Chris Beams
1e1a05e9f8
Polish DelegatingFilterProxy Javadoc
2011-05-30 12:56:32 +00:00
Chris Beams
e36b5e9b7e
Introduce ContextLoader(Listener) constructors
...
Constructors have been added to both ContextLoader and
ContextLoaderListener to support instance-based programmatic
registration of listeners within ServletContainerInitializer
implementations in Servlet 3.0+ environments, and more particularly
when using Spring 3.1's WebApplicationInitializer SPI.
Issue: SPR-7672
2011-05-30 12:56:01 +00:00
Chris Beams
2b4328023e
Improve ApplicationContextInitializer sorting
...
ContextLoader and FrameworkServlet now use
AnnotationAwareOrderComparator to support @Order usage; previously
supported only implementation of the Ordered interface.
2011-05-30 12:55:33 +00:00
Chris Beams
fb9fb00c04
Update GenericWAC to implement ConfigurableWAC
...
GenericWebApplicationContext now implements
ConfigurableWebApplicationContext in order to be compatible with
Framework/DispatcherServlet and ContextLoader/Listener, especially with
regard to changes in SPR-7672 that allow for programmatic use of these
types within Servlet 3.0+ environments. For the first time, it's now
reasonable to imagine injecting a GWAC into DispatcherServlet; the most
robust way to accommodate this possibility is for GWAC to implement
CWAC.
The implementation is in name only, allowing for interchangable use of
GWAC anywhere, for example, an XWAC could otherwise go. Methods such
as setConfigLocation will throw UnsupportedOperationException if the
configLocation value actually contains text. Other methods are
implemented as no-ops or to throw UOE as appropriate.
Issue: SPR-7672
2011-05-30 12:53:57 +00:00