会挽雕弓如满月,西北望,射天狼。这篇文章主要讲述Servlet和Android网络交互基础相关的知识,希望能为你提供帮助。
在上一章中採用了最简单的创建service端代码方式,但在实际开发中一般都会採用比較成熟的框架。以下是完整的maven+spring mvc 创建service的方式
下载安装Eclipse 和jdk这里须要注意一下eclipse jdk选择版本号的位数要一直。不能一个是32位一个是64位,不一致会造成后面使用时有错误
完成下载以后须要配置jdk的环境变量 jdk7配置jdk10配置。
下载安装Maven并配置环境变量依照完成以后我们须要配置用户范围setting.xml
安装文件夹/conf/setting.xml是全局的设置,这个电脑上全部的用户都会受影响,所以将安装文件夹/conf/setting.xml复制一份,到上面配置仓库位置中,默认不设置路径在c:/用户/用户名/.m2下
高版本号的Eclipse默认带有maven的插件。假设没有的我们能够自己下载
http://m2eclipse.sonatype.org/sites/m2e
配置Eclipse在Window——Preferences——Maven
installations勾掉默认的maven,add安装的maven文件夹
user Settings中选择本地仓库配置的setting.xml。如我的E:\m2\settings.xml【Servlet和Android网络交互基础】
文章图片
用Maven来构建工程在Eclipse中选择新建Maven project。选择工作环境1、选择要创建的filter例如以下:
文章图片
2、填写maven项目坐标信息
文章图片
这里的Group Id就是大项目的id,Arifact Id就是该项目的Id。就像一个大项目中有很多小项目组成一样
完好项目首先,完好文件夹,添加重要的source Folder,这个在以下config build path会用到。须要添加
文章图片
我们生成的项目结构例如以下
文章图片
添加src/main/resources。src/test/resources文件夹。让文件夹变成标准的maven结构。
把项目转换成web工程选择项目属性。例如以下图加入Web Module
文章图片
加入src/main/webapp路径。把以下选项也选上。完成以后点击ok
文章图片
在点击Apply
然后再右击项目熟悉
去掉多余项,把刚才新建的文件夹加进去
文章图片
例如以下图
最后完整的项目工程例如以下
文章图片
xml配置文件pom.xml 内容例如以下
文章图片
<
project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<
modelVersion>
4.0.0<
/modelVersion>
<
groupId>
MavenTest<
/groupId>
<
artifactId>
tan.maven.springmvc<
/artifactId>
<
packaging>
war<
/packaging>
<
version>
0.0.1-SNAPSHOT<
/version>
<
name>
tan.maven.springmvc Maven Webapp<
/name>
<
url>
http://maven.apache.org<
/url>
<
properties>
<
project.build.sourceEncoding>
UTF-8<
/project.build.sourceEncoding>
<
springversion>
3.1.1.RELEASE<
/springversion>
<
junitversion>
3.8.1<
/junitversion>
<
/properties>
<
dependencies>
<
dependency>
<
groupId>
junit<
/groupId>
<
artifactId>
junit<
/artifactId>
<
version>
${junitversion}<
/version>
<
scope>
test<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-aop<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-asm<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-aspects<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-beans<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-context<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-context-support<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-core<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-expression<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-jdbc<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-jms<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-orm<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-oxm<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-tx<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-web<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-webmvc<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework<
/groupId>
<
artifactId>
spring-test<
/artifactId>
<
version>
${springversion}<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
javax.servlet<
/groupId>
<
artifactId>
jstl<
/artifactId>
<
version>
1.2<
/version>
<
type>
jar<
/type>
<
scope>
compile<
/scope>
<
/dependency>
<
dependency>
<
groupId>
commons-collections<
/groupId>
<
artifactId>
commons-collections<
/artifactId>
<
version>
3.1<
/version>
<
/dependency>
<
dependency>
<
groupId>
commons-logging<
/groupId>
<
artifactId>
commons-logging<
/artifactId>
<
version>
1.1<
/version>
<
/dependency>
<
/dependencies>
<
build>
<
finalName>
tan-springmvc-book<
/finalName>
<
/build>
<
/project>
web.xml 位于WEB-INF路径下
<
?xml version="1.0" encoding="UTF-8"?>
<
web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<
display-name>
Archetype Created Web Application<
/display-name>
<
servlet>
<
!-- spring MVC的核心就是DispatcherServlet,使用springMVC的第一步就是将以下的servlet放入web.xml
servlet-name属性非常重要。默认情况下,DispatchServlet会载入这个名字-servlet.xml的文件,例如以下,就会载入
dispather-servlet.xml,也是在WEN-INF文件夹下。
也能够直接指定详细文件
<
servlet>
<
servlet-name>
book<
/servlet-name>
<
servlet-class>
org.springframework.web.servlet.DispatcherServlet<
/servlet-class>
<
init-param>
<
param-name>
contextConfigLocation<
/param-name>
<
param-value>
/WEB-INF/applicationContext.xml<
/param-value>
<
/init-param>
<
load-on-startup>
1<
/load-on-startup>
<
/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>
/<
/url-pattern>
<
/servlet-mapping>
<
filter>
<
filter-name>
encodingFilter<
/filter-name>
<
filter-class>
org.springframework.web.filter.CharacterEncodingFilter<
/filter-class>
<
init-param>
<
param-name>
encoding<
/param-name>
<
param-value>
UTF-8<
/param-value>
<
/init-param>
<
init-param>
<
param-name>
forceEncoding<
/param-name>
<
param-value>
true<
/param-value>
<
/init-param>
<
/filter>
<
filter-mapping>
<
filter-name>
encodingFilter<
/filter-name>
<
url-pattern>
/*<
/url-pattern>
<
/filter-mapping>
<
display-name>
mvc<
/display-name>
<
welcome-file-list>
<
welcome-file>
index.html<
/welcome-file>
<
welcome-file>
index.htm<
/welcome-file>
<
welcome-file>
index.jsp<
/welcome-file>
<
welcome-file>
default.html<
/welcome-file>
<
welcome-file>
default.htm<
/welcome-file>
<
welcome-file>
default.jsp<
/welcome-file>
<
/welcome-file-list>
<
/web-app>
dispatcher-servlet.xml
<
?xml version="1.0" encoding="UTF-8"?>
<
beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd"
default-lazy-init="true">
<
!-- 通过mvc:resources设置静态资源,这样servlet就会处理这些静态资源。而不通过控制器 -->
<
!-- 设置只是滤内容,比方:css,jquery,img 等资源文件 -->
<
mvc:resources location="/*.html" mapping="/**.html" />
<
mvc:resources location="/css/*" mapping="/css/**" />
<
mvc:resources location="/js/*" mapping="/js/**" />
<
mvc:resources location="/images/*" mapping="/images/**" />
<
!-- 加入注解驱动 -->
<
mvc:annotation-driven />
<
!-- 默认扫描的包路径 -->
<
context:component-scan base-package="exam_1" />
<
!-- mvc:view-controller能够在不须要Controller处理request的情况。转向到设置的View -->
<
!-- 像以下这样设置。假设请求为/。则不通过controller,而直接解析为/index.jsp -->
<
mvc:view-controller path="/" view-name="index" />
<
bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<
property name="viewClass" value="https://www.songbingjia.com/android/org.springframework.web.servlet.view.JstlView">
<
/property>
<
!-- 配置jsp路径前缀 -->
<
property name="prefix" value="https://www.songbingjia.com/">
<
/property>
<
!-- 配置URl后缀 -->
<
property name="suffix" value="https://www.songbingjia.com/android/.jsp">
<
/property>
<
/bean>
<
/beans>
在
文章图片
创建java类 MyController
package mvc;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class MyController {@RequestMapping("login") //用来处理前台的login请求
private @ResponseBody String hello(
@RequestParam(value = "https://www.songbingjia.com/android/username", required = false)String username,
@RequestParam(value = "https://www.songbingjia.com/android/password", required = false)String password
){
return "Hello "+username+",Your password is: "+password;
}}
到此代码编写完成
项目执行非常多bolg文章到这里就结束了,是由于那些人他们的weorkspace内已经开发过了项目。
假设刚下载的还须要2部
第一步右击项目Run As- > maven install 装载须要的类库
第二部 tomact属性设置
Run As-> Run On Server 选择你的tomact并把项目加进去。假设执行没有错误会出现404错误
解决方法例如以下:
右击选择Add and Reomve。然后双击弹出以下页面
文章图片
又一次配置以下二项
文章图片
然后再执行项目就OK了
文章图片
原因这个说的比較明确
项目源代码地址
推荐阅读
- Android注冊短信验证码功能
- Cocos2d-x 3.0final 终结者系列教程05-AppDelegate入口类
- 初涉RxAndroid结合Glide实现多图片载入操作
- Android开发系列(十七)(读取assets文件夹下的数据库文件)
- 小程序中的动画
- Applet中的模拟时钟
- 压力测试和后期开发工具
- 嗅探和欺骗工具
- 什么是Usbehci.sys以及如何修复错误(分步指南)