最简朴的Spring入门示例
当前位置:以往代写 > JAVA 教程 >最简朴的Spring入门示例
2019-06-14

最简朴的Spring入门示例

最简朴的Spring入门示例

副标题#e#

应一位伴侣的要求,写一个最简朴的spring示例,利用spring的MVC,并应用了spring的依赖注入,实现简朴应用,索性放在这里供还没入门的spring喜好者参考,劈头感觉一下spring应用(spring好手就不必看了,这里并没有涉及高级特性,好比与ORM框架的整合,事务打点,长途挪用,署理等这些成果)

spring至关重要的一环就是装配,即设置文件的编写,接下来我按适才实际进程中一步步简朴讲授。

首先,要在web.xml中设置DispatcherServlet,它是作为Spring MVC的前端节制器.必需在web.xml中设置好,如下

<servlet>
<servlet-name>ntx</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

实际上,spring的设置文件可以分切到多个xml文件,我们这个简朴的示例就把它设置到ntx.xml中

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC
"-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans
default-autowire="no"
default-lazy-init="false"
default-dependency-check="none"
>
<bean id="loginService" class="ntx.service.serviceimpl.LoginServiceImpl"/>
<bean id="loginController" class="ntx.controller.LoginController">
<property name="loginService">
<ref bean="loginService"/>
</property>
<property name="gotoUrl">
<value>/showResult.jsp</value>
</property>
</bean>
<bean id="SimpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/userLogin.do">loginController</prop>
</props>
</property>
</bean>
</beans>

设置好上面的这些后,要在WEB-INF下要成立ntx-servlet.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
  <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property>
  <property name="prefix"><value></value></property>
  <property name="suffix"><value></value></property>
</bean>
</beans>

接下来,要指明哪些请求将交给spring的DispatcherServlet来处理惩罚,所以在web.xml中添加<servlet-mapping>

<servlet-mapping>
  <servlet-name>ntx</servlet-name>
  <url-pattern>*.do</url-pattern>
</servlet-mapping>


#p#副标题#e#

为了能正确载入DispatcherServlet等设置文件,我们要在web.xml中设置一个上下文载入器ContextLoaderListener可能ContextLoaderServlet,我们这里为了兼容版本较低的Serlvet容器(实际上我回收的2.4),回收第二种:

<servlet>
  <servlet-name>context</servlet-name>
  <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
  <load-on-startup>100</load-on-startup>
</servlet>

这样就全部设置完毕了,虽然,上面的ntx.xml是我在项目完成今后才设置完成的,这里不再多讲,有bean元素的设置各人可以参考有关资料领略,很容易领略的,下面再给出完整的web.xml设置以及java<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/ntx.xml</param-value>
</context-param>
<servlet>
  <servlet-name>ntx</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet>
  <servlet-name>context</servlet-name>
  <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
  <load-on-startup>100</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>ntx</servlet-name>
  <url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

#p#分页标题#e#

按照ntx.xml知道,总共有三个java文件,LoginController.java是节制器,担任了最简朴的Controller(实际上spring有许多节制器供我们选择),接下来是一个简朴节制器的源码:

/** *//**
* program NtxSpring
* date 2006-9-27
* @author 张逸轩
*/
package ntx.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import ntx.service.LoginService;
/** *//**@spring.bean id="loginController"
* @spring.property name="gotoUrl" value="/showResult.jsp"
* @spring.property name="loginService" ref="loginService"
*/
/** *//**
* 浸染描写:spring示例
*
* 说明:spring示例,以上的spring标签利便利用xdoclet生成spring设置文件
*
* @author 张逸轩
* Copyright(c)2006 cleverfox
*/
public class LoginController implements Controller...{
private LoginService loginService ;
private String gotoUrl;
public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception ...{
  String userName = request.getParameter("userName");
  this.getUserInfo(request, userName);
  return new ModelAndView(this.getGotoUrl());
}
private void getUserInfo(HttpServletRequest request,String userName)...{
  String userInfo = loginService.getUserInfo(userName);
  request.setAttribute("userInfo", userInfo);
}
public String getGotoUrl() ...{
  return gotoUrl;
}
public void setGotoUrl(String gotoUrl) ...{
  this.gotoUrl = gotoUrl;
}
public LoginService getLoginService() ...{
  return loginService;
}
public void setLoginService(LoginService loginService) ...{
  this.loginService = loginService;
}
}

#p#副标题#e#

尚有service层的接口以及实现,较简朴。

 

package ntx.service;
public interface LoginService ...{
  public String getUserInfo(String userName);
}package ntx.service.serviceimpl;
import ntx.service.LoginService;
public class LoginServiceImpl implements LoginService ...{
  public String getUserInfo(String userName)...{
   return "你的名字是:" + userName;
  }
}

好了,最后是两个jsp文件,一个index.jsp用来显示一个表单,输入名字,一个showResult.jsp用来显示功效,只贴出相关的代码:

<body>
This is my Test Spring page. <br>
<div>
<form method="post" action="/userLogin.do">
<input type="text" name="userName" size="30"/><br/>
<input type="submit" value="提交"/>
</form>
</div>
</body>
<body>
This is the Result: <br>
<c:out value="${userInfo}" default="没有功效"/>
</body>

宣布到tomcat可能其它Servlet容器可以正常利用,提交今后将显示:

This is the Result:

你的名字是:gavin

最简单的Spring入门示例

这是一个简朴的入门示例,但愿有助于刚打仗spring的人加深对spring的领略。

    关键字:

在线提交作业