1. XML文件中配置全局配置信息
<context-param>
<param-name>key</param-name>
<param-value>value</param-value>
</context-param>
<servlet>
<servlet-name>demo01</servlet-name>
<servlet-class>com.lanou3g.Demo01</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>demo01</servlet-name>
<url-pattern>/demo01</url-pattern>
</servlet-mapping>
1.getServletConfig()方法返回一个ServletConfig对象,该对象中包含servlet启动配置信息.
这个信息中包括了所有初始化参数和一个ServletContext对象.
2.getServletContext()返回一个ServletContext对象,该对象包含关于servlet运行环境的信息
3.httpservlet的父类GenericServlet的方法getInitParameter()
String getInitParameter()
返回具有指定名称的初始化参数值。通过凋用config.getInitParameter()实现。
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Demo01 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletConfig myConfig = this.getServletConfig();
String value = this.getInitParameter("username");
System.out.println(value);
}
private void fun1() {
ServletConfig config2 = this.getServletConfig();
String value = config2.getInitParameter("username");
System.out.println(value);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package com.lanou3g;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Demo02 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext application = this.getServletContext();
String path = application.getRealPath("WEB-INF/classes/com/lanou3g/b.properties");
System.out.println(path);
Properties properties = new Properties();
properties.load(new FileInputStream(path));
System.out.println(properties.getProperty("key"));
}
private void fun1() throws IOException, FileNotFoundException {
ServletContext application = this.getServletContext();
String path = application.getRealPath("WEB-INF/classes/a.properties");
System.out.println(path);
Properties properties = new Properties();
properties.load(new FileInputStream(path));
System.out.println(properties.getProperty("key"));
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package com.lanou3g
import java.io.IOException
import javax.servlet.RequestDispatcher
import javax.servlet.ServletContext
import javax.servlet.ServletException
import javax.servlet.http.HttpServlet
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
1.请求转发
public class Demo03 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("我要借钱");
System.out.println("我可没有 你找demo04试试");
ServletContext application = this.getServletContext();
RequestDispatcher dispatcher
= application.getRequestDispatcher("/demo04");
dispatcher.forward(request, response);
System.out.println("钱我已经搞定了");
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
2.HttpServletResponse 服务器的响应对象
package com.lanou3g;
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 Demo04 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("我有钱 我叫迎接 因为名字 所有替换");
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
public class Demo05 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.write("liuy心");
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
4.下载文件
package com.lanou
;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Demo08 extends HttpServlet {
@SuppressWarnings("resource")
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext context = this.getServletContext();
String path = context.getRealPath("/WEB-INF/classes/少女时代.jpg");
File file = new File(path);
String filename = file.getName();
filename = new String(filename.getBytes(), "iso-8859-1");
response.setHeader("content-disposition", "attachment;filename="+filename );
response.setHeader("content-type ", "image/jpg");
FileInputStream fis = new FileInputStream(path);
ServletOutputStream sos = response.getOutputStream();
byte[] b = new byte[1024];
int len = 0;
while (((len = fis.read(b))!=-1)) {
sos.write(b, 0, len);
}
fis.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
4.请求重定向
package com.lanou3g;
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 Demo07 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
private void fun3(HttpServletResponse response) throws IOException {
response.setContentType("text/html;charset=UTF-8");
response.setHeader("refresh", "3;url=/sh-web-servlet03/demo08");
response.getWriter().write("3秒后跳转很开心");
}
private void fun2(HttpServletResponse response) throws IOException {
response.setIntHeader("refresh", 1);
response.getWriter().write(Math.random() + "");
}
private void fun1(HttpServletResponse response) {
System.out.println("我要借钱");
System.out.println("我没有,去找demo08");
response.setHeader("location", "/sh-web-servlet03/demo08");
response.setStatus(302);
System.out.println("我去了");
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
5.HttpServletRequest 请求对象
package com.lanou3g;
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 Demo08 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println(request.getRequestURL());
System.out.println(request.getRequestURI());
System.out.println(request.getMethod());
System.out.println(request.getContextPath());
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username + " " + password);
String header = request.getHeader("User-Agent");
System.out.println(header);
if(header.toLowerCase().contains("firefox")) {
System.out.println("用的是火狐");
}else if(header.toLowerCase().contains("chrome")) {
System.out.println("谷歌");
}else {
System.out.println("其他浏览器");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}