タグ付けされた質問 「spring-mvc」

Model-View-Controller(MVC)パターンに基づいてJava Webアプリケーションを構築するためのフレームワーク。これは、基礎となるビューテクノロジーから、柔軟で分離されたコードを促進します。

9
Spring Bootは2つのデータソースを構成して使用します
2つのデータソースを構成して使用するにはどうすればよいですか? たとえば、ここに私が最初のデータソースのために持っているものがあります: application.properties #first db spring.datasource.url = [url] spring.datasource.username = [username] spring.datasource.password = [password] spring.datasource.driverClassName = oracle.jdbc.OracleDriver #second db ... アプリケーションクラス @SpringBootApplication public class SampleApplication { public static void main(String[] args) { SpringApplication.run(SampleApplication.class, args); } } application.properties別のデータソースを追加するように変更するにはどうすればよいですか?別のリポジトリで使用されるように自動配線するにはどうすればよいですか?

23
Spring MVCで静的コンテンツを処理する方法
私はSpring MVC 3を使用してWebアプリケーションを開発しており、DispatcherServlet「/」へのすべてのリクエストをそのようにキャッチしています(web.xml): <servlet> <servlet-name>app</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>app</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> これは宣伝どおりに機能しますが、静的コンテンツをどのように処理できますか?以前は、RESTful URLを使用する前に、たとえばすべての* .htmlをキャッチしてに送信していましたDispatcherServletが、今は別の球技です。 / styles /、/ js /、/ images /などを含む/ static /フォルダーがあり、/ static / *をから除外したいDispatcherServlet。 これで、静的リソースを機能させることができました。 <servlet-mapping> <servlet-name>app</servlet-name> <url-pattern>/app/</url-pattern> </servlet-mapping> しかし、私はランディングページがwww.domain.com/app/ではなく、素敵なURL(Spring MVC 3を使用している点)が欲しいです また、tomcatやその他のサーブレットコンテナーに結合されたソリューションも必要ありません。これは(比較的)トラフィックが少ないため、前面にWebサーバー(apache httpdなど)は必要ありません。 これに対するクリーンな解決策はありますか?
200 spring-mvc 

8
Spring Bootのapplication.propertiesでenv変数を使用する
私たちはSpring Boot Webアプリに取り組んでおり、使用しているデータベースはMySqlです。 私たちの設定は、最初にローカルでテストすることです(つまり、PCにMySqlをインストールする必要があります)。 次に、Bitbucketにプッシュします。 JenkinsはBitbucketへの新しいプッシュを自動的に検出し、それに基づいてビルドを実行します(Jenkins mvn buildをパスするには、Jenkinsを実行している仮想マシンにMySqlをインストールする必要もあります)。 Jenkinsビルドが成功した場合、OpenShiftのアプリケーションにコードをプッシュします(JenkinsのOpenshiftデプロイメントプラグインを使用)。 あなたがすでにそれを理解しているかもしれないので、私たちが抱えている問題は次のとおりです: でapplication.properties我々のハードコードMySQLの情報はできません。プロジェクトは3つの異なる場所(local、Jenkins、およびOpenShift)で実行されるため、データソースフィールドを動的にする必要がありますapplication.properties(これにはさまざまな方法があることはわかっていますが、今のところこのソリューションに取り組んでいます)。 spring.datasource.url = spring.datasource.username = spring.datasource.password = 私たちが思いついた解決策は、ローカルおよびJenkins vmでシステム環境変数を作成し(OpenShiftがそれらに名前を付けるのと同じ方法でそれらに名前を付け)、それぞれに適切な値を割り当てることです: export OPENSHIFT_MYSQL_DB_HOST="jdbc:mysql://localhost" export OPENSHIFT_MYSQL_DB_PORT="3306" export OPENSHIFT_MYSQL_DB_USERNAME="root" export OPENSHIFT_MYSQL_DB_PASSWORD="123asd" 私たちはこれを実行し、それは機能します。またMap<String, String> env = System.getenv();、環境変数を次のようにJava変数にできることを確認しました。 String password = env.get("OPENSHIFT_MYSQL_DB_PASSWORD"); String userName = env.get("OPENSHIFT_MYSQL_DB_USERNAME"); String sqlURL = env.get("OPENSHIFT_MYSQL_DB_HOST"); String sqlPort = env.get("OPENSHIFT_MYSQL_DB_PORT"); 今残っているのは、これらのJava変数を使用する必要があることだけですapplication.properties。それが問題です。 どのフォルダには、どのように、私たちが割り当てる必要がありませんpassword、userName、sqlURL、およびsqlPortのための変数application.propertiesにそれらを見て、どのように我々はそれらを含めないことができるようにするのapplication.properties? …


5
Spring MVCのApplicationContextとWebApplicationContextの違いは何ですか?
アプリケーションコンテキストとWebアプリケーションコンテキストの違いは何ですか? WebApplicationContextSpring MVCアーキテクチャ指向のアプリケーションに使用されていることを知っていますか? ApplicationContextMVCアプリケーションでの使用方法を知りたいのですが?そして、どのような種類の豆が定義されていApplicationContextますか?

14
Spring-MVCコントローラーで404をトリガーしますか?
スプリングを入手するには 3.0コントローラーで404をトリガーするにですか? 私はコントローラを備えており、コントローラにアクセスする@RequestMapping(value = "/**", method = RequestMethod.GET)一部のURLについては、コンテナに404を作成したいと考えています。
193 java  spring  spring-mvc 

7
Spring MVC:GET @RequestParamとしての複雑なオブジェクト
テーブルのオブジェクトを一覧表示するページがあり、テーブルをフィルター処理するフォームを配置する必要があるとします。フィルターは、Ajax GETとして次のようなURLに送信されます。http://foo.com/system/controller/action?page = 1&prop1 = x&prop2 = y&prop3 = z そして、私のようなコントローラにたくさんのパラメータを置く代わりに: @RequestMapping(value = "/action") public @ResponseBody List<MyObject> myAction( @RequestParam(value = "page", required = false) int page, @RequestParam(value = "prop1", required = false) String prop1, @RequestParam(value = "prop2", required = false) String prop2, @RequestParam(value = "prop3", required = false) String prop3) …
191 java  spring-mvc 

3
オプションのパラメーターを処理するSpring MVCの@RequestParam
Springコントローラーが両方の種類のリクエストを処理することは可能ですか? 1) http://localhost:8080/submit/id/ID123432?logout=true 2) http://localhost:8080/submit/id/ID123432?name=sam&password=543432 この種の単一のコントローラを定義すると、次のようになります。 @RequestMapping (value = "/submit/id/{id}", method = RequestMethod.GET, produces="text/xml") public String showLoginWindow(@PathVariable("id") String id, @RequestParam(value = "logout", required = false) String logout, @RequestParam("name") String username, @RequestParam("password") String password, @ModelAttribute("submitModel") SubmitModel model, BindingResult errors) throws LoginException {...} 「ログアウト」を含むHTTPリクエストは受け入れられません。 各リクエストを個別に処理する2つのコントローラーを定義すると、Springは「すでに 'Controller' Beanメソッドが存在します...マップされています」という例外を報告します。
186 java  spring  spring-mvc 

10
Spring MVC-Springコントローラのマップですべてのリクエストパラメータを取得する方法
サンプルURL: ../search/?attr1=value1&attr2=value2&attr4=value4 attr1、att2、attr4の名前がわかりません。 リクエストparam name-> valueのMapにアクセスできる限り、そのようなことを実行できるようにしたいと思います(または同様に、気にしないでください)。 @RequestMapping(value = "/search/{parameters}", method = RequestMethod.GET) public void search(HttpServletRequest request, @PathVariable Map<String,String> allRequestParams, ModelMap model) throws Exception {//TODO: implement} Spring MVCでこれを実現するにはどうすればよいですか?
183 java  spring  spring-mvc 

16
Spring Bootアプリケーションにコンテキストパスを追加する
プログラムでSpring Bootアプリケーションのコンテキストルートを設定しようとしています。コンテキストルートを使用する理由は、アプリにアクセスしlocalhost:port/{app_name}、すべてのコントローラーパスを追加してほしいからです。 これは、web-appのアプリケーション構成ファイルです。 @Configuration public class ApplicationConfiguration { Logger logger = LoggerFactory.getLogger(ApplicationConfiguration.class); @Value("${mainstay.web.port:12378}") private String port; @Value("${mainstay.web.context:/mainstay}") private String context; private Set<ErrorPage> pageHandlers; @PostConstruct private void init(){ pageHandlers = new HashSet<ErrorPage>(); pageHandlers.add(new ErrorPage(HttpStatus.NOT_FOUND,"/notfound.html")); pageHandlers.add(new ErrorPage(HttpStatus.FORBIDDEN,"/forbidden.html")); } @Bean public EmbeddedServletContainerFactory servletContainer(){ TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(); logger.info("Setting custom configuration for Mainstay:"); …

23
Spring Bootが静的コンテンツを提供しない
Spring-bootプロジェクトで静的コンテンツを提供できません。 static下にという名前のフォルダを配置しましたsrc/main/resources。その中に、という名前のフォルダがありますimages。アプリをパッケージ化して実行すると、そのフォルダーに配置した画像が見つかりません。 私は、静的ファイルを置くことを試みたpublic、resourcesとMETA-INF/resources何も働きません。 :私の瓶がapp.jar -tvfた場合、私は、ファイルを右のフォルダにjarファイル内にあることがわかります /static/images/head.png例えば、しかし呼び出し:http://localhost:8080/images/head.png、私が得るすべてがあります404 スプリングブートがこれを見つけられない理由は何ですか?(私は1.1.4 BTWを使用しています)

8
アクティブユーザーのUserDetailsを取得する方法
私のコントローラーで、アクティブな(ログインした)ユーザーが必要な場合、次のようにしてUserDetails実装を取得します。 User activeUser = (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal(); log.debug(activeUser.getSomeCustomField()); 正常に動作しますが、このような場合、Springを使用すると生活が楽になると思います。持ってする方法があるUserDetailsコントローラまたは方法のいずれかにautowiredは? たとえば、次のようなものです。 public ModelAndView someRequestHandler(Principal principal) { ... } しかしUsernamePasswordAuthenticationToken、を取得するUserDetails代わりに、私は代わりに取得しますか? エレガントなソリューションを探しています。何か案は?

4
Spring RESTfulアプリケーションにResponseEntity <T>および@RestControllerを使用する場合
MVCおよびRestと一緒にSpring Framework 4.0.7を使用しています 私は次の人と安心して仕事ができます: @Controller ResponseEntity&lt;T&gt; 例えば: @Controller @RequestMapping("/person") @Profile("responseentity") public class PersonRestResponseEntityController { メソッドで(作成するだけ) @RequestMapping(value="/", method=RequestMethod.POST) public ResponseEntity&lt;Void&gt; createPerson(@RequestBody Person person, UriComponentsBuilder ucb){ logger.info("PersonRestResponseEntityController - createPerson"); if(person==null) logger.error("person is null!!!"); else logger.info("{}", person.toString()); personMapRepository.savePerson(person); HttpHeaders headers = new HttpHeaders(); headers.add("1", "uno"); //http://localhost:8080/spring-utility/person/1 headers.setLocation(ucb.path("/person/{id}").buildAndExpand(person.getId()).toUri()); return new ResponseEntity&lt;&gt;(headers, HttpStatus.CREATED); } 何かを返す …

6
Spring MVC:検証を行う方法は?
ユーザー入力のフォーム検証を実行するための最もクリーンで最適な方法を知りたいのですが。一部の開発者が実装するのを見てきましたorg.springframework.validation.Validator。それに関する質問:私はそれがクラスを検証するのを見ました。クラスにユーザー入力の値を手動で入力してから、バリデーターに渡す必要がありますか? ユーザー入力を検証する最もクリーンで最適な方法について混乱しています。を使用request.getParameter()してから手動でをチェックする従来の方法は知っnullsていますが、ですべての検証を実行したくありませんController。この領域に関するいくつかの良いアドバイスは大歓迎です。このアプリケーションではHibernateを使用していません。

3
サーブレットの<mvc:annotation-driven />と<context:annotation-config />の違いは何ですか?
Spring 2.5からSpring 3に移行しています。 彼ら&lt;mvc:annotation-driven /&gt;はいくつかの黒魔術を行うことを導入しました。これは、サーブレット構成ファイルでのみ宣言されることが期待されています。 Spring 2.5では、スキャンする適切なベースパッケージを使用して&lt;context:annotation-config /&gt;、&lt;context:component-scan base='...'/&gt;タグapplication-context.xmlとディスパッチャーサーブレット構成XMLの両方を宣言しました。 では、サーブレット構成のタグmvc:annotation-drivenとcontext:annotation-configタグの違いは何ですか?また、Spring 3構成ファイルで何を排除できるのでしょうか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.