学习从HelloWorld应用程序开始的任何Web框架都是一个好主意。 一旦我们熟悉了框架配置,最好做一个CRUD(创建,读取,更新,删除)应用程序,该应用程序涵盖Web框架的各个方面,例如验证,请求URL映射,请求参数绑定,预填充表单等。 。

现在,我将解释如何使用Spring MVC3,Hibernate和MySQL编写简单的CRUD应用程序。 我们的应用程序是ContactsManagements,您可以在其中查看或搜索联系人,创建新联系人,编辑或删除现有联系人。

步骤#1:创建联系人表

CREATE TABLE  CONTACTS
(id int(10) unsigned NOT NULL AUTO_INCREMENT,name varchar(45) NOT NULL,address varchar(45) DEFAULT NULL,gender char(1) DEFAULT 'M',dob datetime DEFAULT NULL,email varchar(45) DEFAULT NULL,mobile varchar(15) DEFAULT NULL,phone varchar(15) DEFAULT NULL,PRIMARY KEY (id)
);

步骤2:将SpringMVC,Hibernate及其从属jar复制到WEB-INF / lib文件夹中。 如果您使用的是Maven,则可以提及以下依赖项。

<dependencies><dependency><groupid>junit</groupid><artifactid>junit</artifactid><version>4.8.1</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>org.springframework</groupid><artifactid>spring-web</artifactid><version>3.0.5.RELEASE</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>org.springframework</groupid><artifactid>spring-core</artifactid><version>3.0.5.RELEASE</version><type>jar</type><scope>compile</scope><exclusions><exclusion><artifactid>commons-logging</artifactid><groupid>commons-logging</groupid></exclusion></exclusions></dependency><dependency><groupid>log4j</groupid><artifactid>log4j</artifactid><version>1.2.14</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>org.springframework</groupid><artifactid>spring-tx</artifactid><version>3.0.5.RELEASE</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>jstl</groupid><artifactid>jstl</artifactid><version>1.1.2</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>taglibs</groupid><artifactid>standard</artifactid><version>1.1.2</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>org.springframework</groupid><artifactid>spring-webmvc</artifactid><version>3.0.5.RELEASE</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>org.springframework</groupid><artifactid>spring-aop</artifactid><version>3.0.5.RELEASE</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>commons-digester</groupid><artifactid>commons-digester</artifactid><version>2.1</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>commons-collections</groupid><artifactid>commons-collections</artifactid><version>3.2.1</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>org.hibernate</groupid><artifactid>hibernate-core</artifactid><version>3.3.2.GA</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>javax.persistence</groupid><artifactid>persistence-api</artifactid><version>1.0</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>c3p0</groupid><artifactid>c3p0</artifactid><version>0.9.1.2</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>org.springframework</groupid><artifactid>spring-orm</artifactid><version>3.0.5.RELEASE</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>org.slf4j</groupid><artifactid>slf4j-api</artifactid><version>1.6.1</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>org.slf4j</groupid><artifactid>slf4j-log4j12</artifactid><version>1.6.1</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>cglib</groupid><artifactid>cglib-nodep</artifactid><version>2.2</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>org.hibernate</groupid><artifactid>hibernate-annotations</artifactid><version>3.4.0.GA</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>jboss</groupid><artifactid>javassist</artifactid><version>3.7.ga</version><type>jar</type><scope>compile</scope></dependency><dependency><groupid>mysql</groupid><artifactid>mysql-connector-java</artifactid><version>5.1.14</version><type>jar</type><scope>compile</scope></dependency></dependencies>

步骤#3:配置SpringMVC

a)在web.xml中配置DispatcherServlet

<servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param>

b)在WEB-INF / dispatcher-servlet.xml中配置View Resolver

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/jsp/" p:suffix=".jsp">
</bean>

c)在WEB-INF / classes / applicationContext.xml中配置注释支持,PropertyPlaceHolderConfigurer,ResourceBundleMessageSource

<context:annotation-config></context:annotation-config><context:component-scan base-package="com.sivalabs"></context:component-scan><mvc:annotation-driven> </mvc:annotation-driven><context:property-placeholder location="classpath:config.properties"></context:property-placeholder><bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" p:basename="Messages"></bean>

步骤#4:在config.properties中配置JDBC连接参数和Hibernate属性

################### JDBC Configuration ##########################
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/sivalabs
jdbc.username=root
jdbc.password=admin################### Hibernate Configuration ##########################
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.show_sql=true
#hibernate.hbm2ddl.auto=update
hibernate.generate_statistics=true

步骤5:在WEB-INF / classes / applicationContext.xml中配置数据源,SessionFactory,TransactionManagement支持

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" p:driverclassname="${jdbc.driverClassName}" p:url="${jdbc.url}" p:username="${jdbc.username}" p:password="${jdbc.password}">
</bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><property name="dataSource" ref="dataSource"></property><property name="hibernateProperties"><props>       <prop key="hibernate.dialect">${hibernate.dialect}</prop>         <prop key="hibernate.show_sql">${hibernate.show_sql}</prop></props></property><property name="packagesToScan" value="com.sivalabs"></property>
</bean><bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" p:sessionfactory-ref="sessionFactory">
</bean><tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>

步骤#6:在WEB-INF / classes / Messages.properties中配置标签和错误消息

App.Title=SivaLabs
typeMismatch.java.util.Date={0} is Invalid Date.
dob=DOB

步骤#7:创建实体类Contact.java

package com.sivalabs.contacts;import java.util.Date;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;import org.apache.commons.lang.builder.ToStringBuilder;@Entity
@Table(name="CONTACTS")
public class Contact
{@Id@GeneratedValue(strategy = GenerationType.AUTO)private int id;@Column private String name;@Column private String address;@Column private String gender;@Column private Date dob;@Column private String email;@Column private String mobile;@Column private String phone;@Overridepublic String toString(){return ToStringBuilder.reflectionToString(this);}//setters & getters
}

步骤#8:创建在CONTACTS表上执行CRUD操作的ContactsDAO.java。

package com.sivalabs.contacts;import java.util.List;import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;@Repository
@Transactional
public class ContactsDAO
{@Autowiredprivate SessionFactory sessionFactory;public Contact getById(int id){return (Contact) sessionFactory.getCurrentSession().get(Contact.class, id);}@SuppressWarnings("unchecked")public List searchContacts(String name){Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Contact.class);criteria.add(Restrictions.ilike("name", name+"%"));return criteria.list();}@SuppressWarnings("unchecked")public List getAllContacts(){Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Contact.class);return criteria.list();}public int save(Contact contact){return (Integer) sessionFactory.getCurrentSession().save(contact);}public void update(Contact contact){sessionFactory.getCurrentSession().merge(contact);}public void delete(int id){Contact c = getById(id);sessionFactory.getCurrentSession().delete(c);}
}

步骤#9:创建ContactFormValidator.java,它在保存/更新联系人时执行验证。

package com.sivalabs.contacts;import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;@Component("contactFormValidator")
public class ContactFormValidator implements Validator
{@SuppressWarnings("unchecked")@Overridepublic boolean supports(Class clazz){return Contact.class.isAssignableFrom(clazz);}@Overridepublic void validate(Object model, Errors errors){ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name","required.name", "Name is required.");}
}

步骤#10:创建处理所有CRUD请求的ContactsControllers.java。

package com.sivalabs.contacts;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.servlet.ModelAndView;@Controller
public class ContactsControllers
{@Autowiredprivate ContactsDAO contactsDAO;@Autowiredprivate ContactFormValidator validator;@InitBinderpublic void initBinder(WebDataBinder binder){SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");dateFormat.setLenient(false);binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));}@RequestMapping("/searchContacts")public ModelAndView searchContacts(@RequestParam(required= false, defaultValue="") String name){ModelAndView mav = new ModelAndView("showContacts");List contacts = contactsDAO.searchContacts(name.trim());mav.addObject("SEARCH_CONTACTS_RESULTS_KEY", contacts);return mav;}@RequestMapping("/viewAllContacts")public ModelAndView getAllContacts(){ModelAndView mav = new ModelAndView("showContacts");List contacts = contactsDAO.getAllContacts();mav.addObject("SEARCH_CONTACTS_RESULTS_KEY", contacts);return mav;}@RequestMapping(value="/saveContact", method=RequestMethod.GET)public ModelAndView newuserForm(){ModelAndView mav = new ModelAndView("newContact");Contact contact = new Contact();mav.getModelMap().put("newContact", contact);return mav;}@RequestMapping(value="/saveContact", method=RequestMethod.POST)public String create(@ModelAttribute("newContact")Contact contact, BindingResult result, SessionStatus status){validator.validate(contact, result);if (result.hasErrors()){   return "newContact";}contactsDAO.save(contact);status.setComplete();return "redirect:viewAllContacts.do";}@RequestMapping(value="/updateContact", method=RequestMethod.GET)public ModelAndView edit(@RequestParam("id")Integer id){ModelAndView mav = new ModelAndView("editContact");Contact contact = contactsDAO.getById(id);mav.addObject("editContact", contact);return mav;}@RequestMapping(value="/updateContact", method=RequestMethod.POST)public String update(@ModelAttribute("editContact") Contact contact, BindingResult result, SessionStatus status){validator.validate(contact, result);if (result.hasErrors()) {return "editContact";}contactsDAO.update(contact);status.setComplete();return "redirect:viewAllContacts.do";}@RequestMapping("deleteContact")public ModelAndView delete(@RequestParam("id")Integer id){ModelAndView mav = new ModelAndView("redirect:viewAllContacts.do");contactsDAO.delete(id);return mav;}
}

步骤#11:与其在所有JSP中编写JSTL标记库描述,不如在一个JSP中声明它们并将其包含在其他JSP中。

taglib_includes.jsp

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%><%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>

步骤#12:创建JSP。

a)showContacts.jsp

<%@include file="taglib_includes.jsp" %><html>
<head><title><spring:message code="App.Title"></spring:message> </title>
<script type="text/javascript" src="js/contacts.js"></script>
</head>
<body style="font-family: Arial; font-size:smaller;"><center><form action="searchContacts.do" method="post"><table style="border-collapse: collapse;" width="500" border="0" bordercolor="#006699"><tbody><tr>     <td>Enter Contact Name</td>      <td><input name="name" type="text"><input value="Search" type="submit"><input value="New Contact" onclick="javascript:go('saveContact.do');" type="button"></td></tr>
</tbody></table></form><c:if test="${empty SEARCH_CONTACTS_RESULTS_KEY}">
</c:if><c:if test="${! empty SEARCH_CONTACTS_RESULTS_KEY}">    <c:foreach var="contact" items="${SEARCH_CONTACTS_RESULTS_KEY}">
</c:foreach></c:if><table style="border-collapse: collapse;" width="500" border="1" bordercolor="#006699"><tbody><tr bgcolor="lightblue">    <th>Id</th>    <th>Name</th>       <th>Address</th>     <th>Mobile</th>    <th></th>   </tr>
<tr>    <td colspan="4">No Results found</td>   </tr><tr>     <td><c:out value="${contact.id}"></c:out></td>     <td><c:out value="${contact.name}"></c:out></td>     <td><c:out value="${contact.address}"></c:out> </td>     <td><c:out value="${contact.mobile}"></c:out></td>     <td><a href="updateContact.do?id=$%7Bcontact.id%7D">Edit</a><a href="javascript:deleteContact('deleteContact.do?id=${contact.id}');">Delete</a></td>    </tr></tbody></table></center></body>
</html>

b)newContact.jsp

<%@include file="taglib_includes.jsp" %><html>
<head><script type="text/javascript" src="js/contacts.js"></script><title><spring:message code="App.Title"></spring:message> </title>
</head>
<body style="font-family: Arial; font-size:smaller;"><table style="border-collapse: collapse;" width="750" align="center" bgcolor="lightblue" border="1" bordercolor="#006699" height="500"><tbody><tr>   <td align="center"><h3>Edit Contact Form</h3></td>  </tr>
<tr valign="top" align="center">     <td align="center"><form:form action="saveContact.do" method="post" commandname="newContact"><table style="border-collapse: collapse;" width="500" border="0" bordercolor="#006699" cellpadding="2" cellspacing="2"><tbody><tr>       <td width="100" align="right">Name</td>       <td width="150"><form:input path="name"></form:input></td>       <td align="left"><form:errors path="name" cssstyle="color:red"></form:errors></td>      </tr>
<tr>       <td width="100" align="right">DOB</td>       <td><form:input path="dob"></form:input></td>       <td align="left"><form:errors path="dob" cssstyle="color:red"></form:errors></td>      </tr>
<tr>       <td width="100" align="right">Gender</td>       <td>     <form:select path="gender"><form:option value="M" label="Male"><form:option value="F" label="Female"></form:option></form:option></form:select></td>       <td></td>            </tr>
<tr>       <td width="100" align="right">Address</td>       <td><form:input path="address"></form:input></td>       <td align="left"><form:errors path="address" cssstyle="color:red"></form:errors></td>      </tr>
<tr>       <td width="100" align="right">Email</td>       <td><form:input path="email"></form:input></td>       <td align="left"><form:errors path="email" cssstyle="color:red"></form:errors></td>      </tr>
<tr>       <td width="100" align="right">Mobile</td>       <td><form:input path="mobile"></form:input></td>       <td align="left"><form:errors path="mobile" cssstyle="color:red"></form:errors></td>      </tr>
<tr>       <td colspan="3" align="center"><input name="" value="Save" type="submit"><input name="" value="Reset" type="reset"><input value="Back" onclick="javascript:go('viewAllContacts.do');" type="button"></td>      </tr>
</tbody></table></form:form></td>       </tr>
</tbody></table></body>
</html>

a)editContact.jsp

<%@include file="taglib_includes.jsp" %><html>
<head><script type="text/javascript" src="js/contacts.js"></script><title><spring:message code="App.Title"></spring:message> </title>
</head>
<body style="font-family: Arial; font-size:smaller;"><table style="border-collapse: collapse;" width="750" align="center" bgcolor="lightblue" border="1" bordercolor="#006699" height="500"><tbody><tr>   <td align="center"><h3>Edit Contact Form</h3></td>  </tr>
<tr valign="top" align="center">     <td align="center"><form:form action="updateContact.do" method="post" commandname="editContact"><table style="border-collapse: collapse;" width="500" border="0" bordercolor="#006699" cellpadding="2" cellspacing="2"><tbody><tr>       <td width="100" align="right">Id</td>       <td width="150"><form:input path="id" readonly="true"></form:input></td>       <td align="left"><form:errors path="id" cssstyle="color:red"></form:errors></td>      </tr>
<tr>       <td width="100" align="right">Name</td>       <td><form:input path="name"></form:input></td>       <td align="left"><form:errors path="name" cssstyle="color:red"></form:errors></td>      </tr>
<tr>       <td width="100" align="right">DOB</td>       <td><form:input path="dob"></form:input></td>       <td align="left"><form:errors path="dob" cssstyle="color:red"></form:errors></td>      </tr>
<tr>       <td width="100" align="right">Gender</td>       <td>     <form:select path="gender"><form:option value="M" label="Male"><form:option value="F" label="Female"></form:option></form:option></form:select></td>       <td></td>            </tr>
<tr>       <td width="100" align="right">Address</td>       <td><form:input path="address"></form:input></td>       <td align="left"><form:errors path="address" cssstyle="color:red"></form:errors></td>      </tr>
<tr>       <td width="100" align="right">Email</td>       <td><form:input path="email"></form:input></td>       <td align="left"><form:errors path="email" cssstyle="color:red"></form:errors></td>      </tr>
<tr>       <td width="100" align="right">Mobile</td>       <td><form:input path="mobile"></form:input></td>       <td align="left"><form:errors path="mobile" cssstyle="color:red"></form:errors></td>      </tr>
<tr valign="bottom">       <td colspan="3" align="center"><input value="Delete" onclick="javascript:deleteContact('deleteContact.do?id=${editContact.id}');" type="button"><input name="" value="Save" type="submit">     <input value="Back" onclick="javascript:go('viewAllContacts.do');" type="button"></td>      </tr>
</tbody></table></form:form></td>       </tr>
</tbody></table></body>
</html>

步骤#13:编写包含实用程序方法的javascript文件js / contacts.js

function go(url)
{window.location = url;
}function deleteContact(url)
{var isOK = confirm("Are you sure to delete?");if(isOK){go(url);}
}

步骤#14:欢迎文件index.jsp

<%
response.sendRedirect("viewAllContacts.do");
%>

步骤#15:启动服务器,然后将浏览器URL指向http:// localhost:8080 / SpringMVCHibernate

参考:来自我们SivaLabs的 JCG合作伙伴 Siva的Spring MVC3 Hibernate CRUD示例应用程序 。

相关文章:

  • Spring MVC开发–快速教程
  • Spring3 RESTful Web服务
  • 带有Spring和Maven教程的JAX–WS
  • 使用Spring AspectJ和Maven进行面向方面的编程

翻译自: https://www.javacodegeeks.com/2011/04/spring-mvc3-hibernate-crud-sample.html

Spring MVC3 Hibernate CRUD示例应用程序相关推荐

  1. mvc crud_Spring MVC3 Hibernate CRUD示例应用程序

    mvc crud 学习从HelloWorld应用程序开始的任何Web框架都是一个好主意. 一旦我们熟悉了框架配置,最好做一个CRUD(创建,读取,更新,删除)应用程序,该应用程序涵盖Web框架的各个方 ...

  2. Primefaces Spring和Hibernate集成示例教程

    Primefaces Spring和Hibernate集成示例教程 欢迎使用Spring Primefaces和Hibernate Integration示例.框架之间的集成是一项复杂的任务,而且大多 ...

  3. primefaces教程_Primefaces Spring和Hibernate集成示例教程

    primefaces教程 Welcome to the Spring Primefaces and Hibernate Integration example. Integration between ...

  4. Google App Engine + JDO + Spring MVC,CRUD示例

    注意 本教程更多关于实践指南,请参考此官方的在数据存储区中使用JDO了解详细说明. 请参阅以下代码段,以使用Java数据对象(JDO)在GAE数据存储上执行CRUD. 只需使用JDO注释为客户注释,然 ...

  5. Spring MVC拦截器示例

    我以为是时候看看Spring的MVC拦截器机制了,这种机制已经存在了很多年,并且是一个非常有用的工具. Spring Interceptor会按照提示进行操作:在传入的HTTP请求到达您的Spring ...

  6. Spring MVC + Hibernate + Maven:CRUD操作示例

    在本文中,我想研究一个Spring MVC + Hibernate + Maven用法的示例. 这套技术暗含领域领域的基础知识. 因此,我将尝试详细解释所有重要时刻. 其他没有主题的内容将提供指向更多 ...

  7. Spring MVC Hibernate MySQL集成CRUD示例教程

    Spring MVC Hibernate MySQL集成CRUD示例教程 我们在上一篇教程中学习了如何集成Spring和Hibernate.今天,我们将继续前进,并将Spring MVC和Hibern ...

  8. Spring Boot&Angular 5&Spring Data&Rest示例(CRUD)

    本教程提供了Spring Boot,Angular 5和spring数据的完整实现,以示例为例构建端到端的单页Java Web应用程序.我们将使用Spring Boot 1.5公开REST API和a ...

  9. mvc crud_Spring MVC Hibernate MySQL集成CRUD示例教程

    mvc crud We learned how to integrate Spring and Hibernate in our last tutorial. Today we will move f ...

最新文章

  1. opencv播放器和摄像头视频播放
  2. 图像处理 区域删除_FotoWorks XL( 图像处理软件 )中文版分享
  3. java socket负载均衡_Java Socket分发服务负载均衡
  4. php编程习惯,PHP 编程的 5个良好习惯
  5. java+jtextfield+取值_[求助]JTextfield 取值问题!
  6. php重定向error,将nginx错误重定向到php
  7. java静态常量存在哪里,Java面试题及解析
  8. 搜狗输入法电脑版_年终福利 | 安卓可用的输入法皮肤 搜狗篇 / 近期日程 | iOS智能深色版。...
  9. 2016 Multi-University Training Contest 10
  10. eclipse常用快捷键整理
  11. Oracle 创建表空间借鉴 保留,占版权留言告知
  12. FCKeditor编辑器详解
  13. PCB封装库命名规则
  14. Powerpoint 插件制作日记-1
  15. 碧海威 L7多款产品 后台命令执行漏洞
  16. 中文分词词库汇总(一)
  17. 高精度地图2019-2020年或可落地
  18. 遇见你是我最美的意外
  19. 2015自然基金一审结果:项目申请的共性问题。
  20. 无线网dns的服务器地址是多少,宽带通dns的服务器地址是多少

热门文章

  1. 魔术方法 类 序列化_Java序列化魔术方法及其示例使用
  2. 多个定时器相互干扰的问题_相互问题
  3. java必读书籍_必读:Java Java
  4. jboss fuse 教程_在JBoss Fuse / Fabric8 / Karaf中使用Byteman
  5. 线性搜索或顺序搜索算法在Java中如何工作? 示例教程
  6. 使用SoapUI调用不同的安全WCF SOAP服务-基本身份验证,第二部分
  7. 使用测微计收集应用程序指标
  8. spring batch_Spring Batch作为Wildfly模块
  9. spring连接jdbc_在Spring JDBC中添加C3PO连接池
  10. java ee 7 新_Java EE 7:新功能???