day38 19-Spring整合web开发

整合Spring开发环境只需要引入spring-web-3.2.0.RELEASE.jar这个jar包就可以了,因为它已经帮我们做好了.

 

 

 

Spring整合web开发,不用每次都加载Spring环境了。


 

package cn.itcast.service;public class UserService {public void sayHello(){System.out.println("Hello Spring web.....");     }
}
package cn.itcast.servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;*/
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import cn.itcast.service.UserService;@SuppressWarnings("serial")
public class UserServlet extends HttpServlet {
//每次启动Servlet都会加载Spring的环境.每次运行都需要加载Spring的环境.Spring配置环境中的东西如果多了,每次加载Servlet就加载Spring环境肯定不行.public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {/*    ApplicationContext applicationContext  = new ClassPathXmlApplicationContext("applicationContext.xml");UserService userService =  (UserService) applicationContext.getBean("userService");userService.sayHello();*///得把代码改了,否则每次都是来获取Spring的环境.WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext());//工具类WebApplicationContextUtilsUserService userService =  (UserService) applicationContext.getBean("userService");userService.sayHello();}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request,response);}}
<?xml version="1.0" encoding="UTF-8"?>
<!-- 别去schema,schema是文件,本地的文件,你得引那个头 --><beans xmlns="http://www.springframework.org/schema/beans"xmlns:p="http://www.springframework.org/schema/p"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="userService" class="cn.itcast.service.UserService"></bean>
</beans>
<?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/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"><display-name></display-name><!-- 配置监听器ContextLoaderListener --><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><servlet><description>This is the description of my J2EE component</description><display-name>This is the display name of my J2EE component</display-name><servlet-name>UserServlet</servlet-name><servlet-class>cn.itcast.servlet.UserServlet</servlet-class></servlet><servlet-mapping><servlet-name>UserServlet</servlet-name><url-pattern>/userServlet</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>
</web-app>

 

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/6729544.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线程的生命周期及五种基本状态介绍

一.线程的生命周期及五种基本状态 关于Java中线程的生命周期&#xff0c;首先看一下下面这张较为经典的图&#xff1a; 上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点&#xff0c;Java中的多线程也就基本上掌握了。主要包括&#xff1a; Java线程具有…

php外联样式,css外联样式不起作用怎么办

css外联样式不起作用的解决办法&#xff1a;首先用sublime编辑器打开css文件&#xff1b;然后修改本地css文件编码格式为“utf-16LE”&#xff1b;最后重新保存运行即可。本教程操作环境&#xff1a;Windows7系统、Sublime Text3&&css3版本&#xff0c;该方法适用于所有…

java.io.IOException: DerInputStream.getLength(): lengthTag=111, too big解决方法

1:报错如下 Exception in thread "main" java.io.IOException: DerInputStream.getLength(): lengthTag111, too big.at sun.security.util.DerInputStream.getLength(DerInputStream.java:599)at sun.security.util.DerValue.init(DerValue.java:391)at sun.securit…

ClassLoader.getResourceAsStream(name);获取配置文件的方法

1:报错如下 2:分析 3:解释 使用Spring的ClassPathResource来读取maven项目resource下的文件 一般来说&#xff0c;我们项目的配置文件及静态资源都会放置在resources目录下。有时我们在项目中使用到resources目录下的文件&#xff0c;这时我们可以使用Spring下的Resouce接口来…

ClassPathResource使用简介

ClassPathResource使用简介 使用Spring的ClassPathResource来读取maven项目resource下的文件 一般来说&#xff0c;我们项目的配置文件及静态资源都会放置在resources目录下。有时我们在项目中使用到resources目录下的文件&#xff0c;这时我们可以使用Spring下的Resouce接口来…

关于Class.getResource和ClassLoader.getResource的路径问题

Java中取资源时&#xff0c;经常用到Class.getResource和ClassLoader.getResource&#xff0c;这里来看看他们在取资源文件时候的路径问题。 Class.getResource(String path) path不以’/开头时&#xff0c;默认是从此类所在的包下取资源&#xff1b; path 以’/开头时&…

idea 快捷键获取类的全限定类名(包名+类名)

什么是全限定类名&#xff1a;就是 包名类名 1:选中一个类名,然后右键 Copy Reference 2:点击paste without Formatting 3:查看结果

UICollectionView——整体总结

前言 这几天有时间看了下UICollectionView的东西&#xff0c;才发觉它真的非常强大&#xff0c;很有必要好好学习学习。以前虽然用过几次&#xff0c;但没有系统的整理总结过。这两天我为UICollectionView做一个比较全面的整理。包括基本使用&#xff0c;自定义布局&#xff0c…

java Class对象返回的都是指向同一个java堆地址上的Class引用

一旦类被加载了到了内存中&#xff0c;那么不论通过哪种方式获得该类的Class对象&#xff0c;它们返回的都是指向同一个java堆地址上的Class引用。jvm不会创建两个相同类型的Class对象 public class Cat {static {System.out.println("wwwww");} }class T1 {public s…

matlab基础与实例教程,MATLAB基础与实例教程

系统全面&#xff0c;实例丰富 考虑到Matlab进行仿真和运算分析时的基础知识和实践操作&#xff0c;讲解从基础的变量、函数、数据类型等入手&#xff0c;涉及到数学分析、图形可视化、Simulink仿真、文件读写等&#xff0c;全面地介绍了Matlab的分析方法。 精心编排&#xff0…

近300万记录的论坛还用这个分页存储过程

http://www2.gliet.edu.cn/club2/bbs/list_new_today.asp用于列出今日最新贴的。有个想不明的问题是为什么DeclareSqlText Varchar(1000)声明为1000个字符大了&#xff0c;但超过255字符之后exec(SqlText)就会出错。自动把后面的cut掉了&#xff1f;ALTERPROCEDUREbbsListNewTo…

JAVA项目中classpath路径详解

classpath是什么路径&#xff1f; 1.classpath指的是类路径&#xff0c;也就是编译之后的target文件夹下的WEB-INF/class文件夹。 2.resources文件夹存放的是各种配置文件&#xff0c;当项目被编译时resources下的所有配置文件均被放在 WEB-INF/class文件夹下。也就是类路径下…

Idea运行项目报错:java.lang.OutOfMemoryError: Java heap space/ java.lang.OutOfMemoryError: GC overhead 解决方法

问题 使用Idea运行代码量比较多的项目时&#xff0c;会报错&#xff1a;java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded 仔细看了整个报错过程&#xff0c;堆…

Leaning Method

001用分布在两个地方的两台办公电脑开发一个项目&#xff0c;计划使用gitee同步代码。具体应该怎么操作&#xff1f; 要使用 Gitee 同步代码&#xff0c;你可以按照以下步骤进行操作&#xff1a; 在两台办公电脑上都安装 Git 客户端&#xff0c;并在 Gitee 上创建一个项目仓库…

wamp php文件怎么创建数据库,phpmyadmin怎么创建数据库

phpmyadmin怎么创建数据库?1、首先登陆phpmyadmin&#xff0c;有两种方法&#xff0c;第一钟是直接点击wampserver图标&#xff0c;再点击phpmyadmin即可登陆进来是最常用的方法&#xff1b;其次是在浏览器地址中输入http://localhost:8080/phpmyadmin(注意8080是端口号&#…

maven的三大生命周期

一、Maven的生命周期 Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。 Maven的生命周期是抽象的&#xff0c;即生命周期不做任何实际的工作&#xff0c;实际任务由插…

static{}静态代码块与{}普通代码块和构造代码块之间的区别

public class TestStatic {{System.out.println("构造代码块");}TestStatic() {System.out.println("构造函数代码块");}//类级别的初始化&#xff0c;只是在类加载的时候做一次static {System.out.println("static静态代码块");} } 1.静态代码块…

多线程编程(三)--创建线程之Thread VS Runnable

前面写过一篇基础的创建多线程的博文&#xff1a; 那么本篇博文主要来对照一下这两种创建线程的差别。 继承Thread类&#xff1a; 还拿上篇博客的样例来说&#xff1a; 四个线程各自卖各自的票&#xff0c;说明四个线程之间没有共享&#xff0c;是独立的线程。每一个线程平等。…

用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变

使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变 答: 使用final关键字修饰一个变量时&#xff0c;是指引用变量不能变&#xff0c;引用变量所指向的对象中的内容还是可以改变的。 代码 public class TestFinal {private static final StringBuffer a new S…