springBoot框架的直接使用
一.springBoot框架的Helloworder
web页面显示helloworld!
1.先写一个controller类,这样可以在页面上进行访问。
package com.dsd.controller;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
//@Controller //这是我们以前常用的controller注解
@RestController //springboot里的controller的注解,推荐使用,这个注解可以将页面上返回的Jason字符串自动转换。
public class fileupcontroller {
@RequestMapping("/fileupController")
public Map<String, Object> fileup(MultipartFile filename) throws IllegalStateException, IOException{
System.out.println(filename.getOriginalFilename()); //显示文件名称
filename.transferTo(new File("e:/imgs/"+filename.getOriginalFilename())); //将文件保存
Map<String, Object> map = new HashMap<>();
map.put("msg", "OK");
return map;
}
}
2.在编写一个启动类,相当于是一个主函数。
package com.dsd;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
@SpringBootApplication //这是启动springboot服务的主要注解
public class HellowServlet011Application {
public static void main(String[] args) {
SpringApplication.run(HellowServlet011Application.class, args); //调用springBoot里的方法。
}
}
3.在启动类里调试,springBoot自带的Tomcat会自动启动,只需在浏览器里访问,访问方式如下,端口号后跟你写的controller的访问名。
localhost:8080/fileupController
二.SpringBoot整合servlet
springBoot整合servlet有两种方法。
第一种:
1.编写一个servlet类。
package com.dsd.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "fastServlets",urlPatterns = "/fast") //该注解说明该类是一个servlet类,name是该类的名称,urlpatterns表示该类的访问地址
public class fastServlet extends HttpServlet{ //继承HTTPServlet
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("欢迎进入servlet........");
}
}
2.编写一个启动类
package com.dsd;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
@SpringBootApplication //这是启动springBoot必备
@ServletComponentScan //通过该注解会自动扫描servlet类
public class HellowServlet011Application {
public static void main(String[] args) {
SpringApplication.run(HellowServlet011Application.class, args);
}
}
3.通过在浏览器上访问即可。
第二种方法:
1.编写一个servlet但是该类不需要添加注解。
package com.dsd.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class towServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("我没有被过滤");
}
}
2.编写启动类,在启动类里需添加一个Bean方法来访问servlet
package com.dsd;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import com.dsd.filter.towFilter;
import com.dsd.servlet.towServlet;
@SpringBootApplication // 启动springBoot必备
public class App { //该方法是springBoot启动的主方法。
public static void main(String[] args) throws Exception {
SpringApplication.run(App.class, args);
}
@Bean //该注解相当于配置文件中的Bean方法。
public ServletRegistrationBean towsservlet() { //通过返回一个ServletRegistrationBean来访问该注解
ServletRegistrationBean bean = new ServletRegistrationBean(new towServlet()); //new 一个类名来指定是那个servlet
bean.addUrlMappings("/tows"); //指定它的访问地址名
return bean;
}
}