JavaWeb的servlet的主要几个方法
- 1.servletd的 init(ServletConfig config)初始化方法:
/**
*
* 初始化
*
* @param config
* @throws ServletException
*
* @date 2016年2月29日 上午21:26:06
*/
public void init(ServletConfig config) throws ServletException {
System.out.println("init");
//获取指定的参数名对应的值
String name=config.getInitParameter("name");
System.out.println("参数名为name对应的值为:"+name);
//001获取所有的初始化参数名
Enumeration<String> users= config.getInitParameterNames();
while (users.hasMoreElements()) {
String key=users.nextElement();
String value=config.getInitParameter(key);//根据参数名获取对应的参数值
System.out.println( key+"---"+value);
}
//002获取servlet名称
String servletName=config.getServletName();
System.out.println("Servlet的名称是:"+servletName);
//003获取ServletContext对象
ServletContext context=config.getServletContext();
String name2=context.getInitParameter("jbdc");//获取指定ServletContext参数的值
System.out.println("jbdc参数的值是:"+name2);
//004获取当前WEB的某一文件收在服务器上从据对路径,不是部署前的物理路径
String path=context.getRealPath("/index.jsp");
System.out.println(path);
//005获取当前WEB的名称
String contxtPath=context.getContextPath();
System.out.println(contxtPath);
//006获取当前web的某一文件的对应的输入流
try {//方法一
ClassLoader classloader=getClass().getClassLoader();
InputStream is1=classloader.getResourceAsStream("cofig.properties");
System.out.println(is1);
} catch (Exception e) {
e.printStackTrace();
}
try {//方法二(当前项目的根目录)
InputStream is2=context.getResourceAsStream("/WEB-INF/classes/cofig.properties");
System.out.println(is2);
} catch (Exception e) {
e.printStackTrace();
}
}
- 2、servlet的service(ServletRequest request, ServletResponse
response)方法:
/**
*
* servers常用的四个方法(请求和响应)
*
* @param request
* @param response
* @throws ServletException
* @throws IOException
*
* @date 2016年2月29日 下午21:32:04
*/
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
//获取单个参数
String name=request.getParameter("username");
String password=request.getParameter("passw");
System.out.println("请求成功!用户名是:"+name+"---密码:"+password);
//获取多个(数组)
String [] project=request.getParameterValues("select");
for(String item :project){
System.out.println(item);
}
//获取列举
Enumeration<String> names=request.getParameterNames();
while(names.hasMoreElements()){
String paramete=names.nextElement();
String value=request.getParameter(paramete);
System.out.println(paramete+"----"+value);
}
//获取map
Map<String, String[]> map=request.getParameterMap();
for(Map.Entry<String,String[]> entry:map.entrySet() ){
System.out.println(entry.getKey()+"==="+Arrays.asList(entry.getValue()));
}
//获取请求的路径
HttpServletRequest httprequert=(HttpServletRequest)request;
String url=httprequert.getRequestURI();
System.out.println(url);
//获取请求的方法
String methoer=httprequert.getMethod();
System.out.println(methoer);
//获取请求的字符串(若是post方法,则获取不到)
String QueryString=httprequert.getQueryString();
System.out.println(QueryString);
//获取请求的servlet映射的路径
String path=httprequert.getServletPath();
System.out.println(path);
//---------------------响应方法--------------------
//设置响应的类型
response.setContentType("application/x-abiword");
//返回打印
PrintWriter out=response.getWriter();
out.println("seccse");
}