maven镜像
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
web-xml最新的头
<?xml version="1.0" encoding="utf-8" ?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0"
metadata-complete="true">
</web-app>
注册Servlet和设置映射
<servlet>
<servlet-name>为Servlet取个名字</servlet-name>
<servlet-class>这个类文件在项目中的路径</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>上面取的名字</servlet-name>
<url-pattern>/web里的相对地址</url-pattern>
</servlet-mapping>
上下文环境(ServletContext)
在doGet和doPost方法中,通过this.getServletContext() 方法获得ServletContext对象
- 可以调用web.xml里
<context-param> 的数据 <context-param> 里的数据以键值对的方式存在 比如:
<context-param>
<param-name>mybatisUrl</param-name>
<param-value>jdbc:mysql://localhost:3306/mybatis</param-value>
</context-param>
- 可以调用项目上下文环境的数据
转发(dispatcher)和重定向
都是打开了另一个网页,但是转发的url不会改变。
举个例子理解下原型: 需求是顾客A要买牛肉,售货员B不卖牛肉,售货员C卖牛肉,但是顾客A只认识B。 转发:A告诉B要买牛肉,B找到C说:A要买牛肉,C给了B,B再拿给A。 重定向:A告诉B要买牛肉,B告诉A:C卖牛肉,A找到了C买了牛肉。
属性类(Properties)
这是一个util包下的类,用于读取配置文件的信息。
关于资源导出失败
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
读取.properties文件
Properties properties = new Properties();
properties.load(resourceAsStream);
String username = properties.getProperty("username");
请求和响应对象
响应对象: HttpServletResponse 用途: 1.向浏览器输出信息 2.下载文件
web下载文件的头信息
resp.setHeader("Content-disposition","attachment;filename="+filename);
文件下载模板
请求该servlet会跳到后台运行下载任务
String realPath = this.getServletContext().getRealPath("\\WEB-INF\\classes\\图片.jpg");
System.out.println("下载文件的路径:"+realPath);
String filename = realPath.substring(realPath.lastIndexOf("\\") + 1);
resp.setHeader("Content-disposition","attachment;filename="+ URLEncoder.encode(filename,"utf-8"));
FileInputStream fis = new FileInputStream(realPath);
int len = 0;
byte[] buffer = new byte[1024];
ServletOutputStream os = resp.getOutputStream();
while ((len = fis.read(buffer))>0){
os.write(buffer,0,len);
}
os.close();
fis.close();
页面中文编码
resp.setHeader("Content-Type","text/html;charset=UTF-8");
|