三 深入servlet技术
1 读取 web.xml 文件: 初始化参数 (init-param),下面的 InitParamServlet 配置了 三个初始化参数
<servlet>
<servlet-name>InitParamServlet</servlet-name>
<servlet-class>com.xiaoxiao.servlet.InitParamServlet</servlet-class>
<init-param>
<param-name>tom</param-name>
<param-value>tomValue</param-value>
</init-param>
<init-param>
<param-name>jerry</param-name>
<param-value>jerryValue</param-value>
</init-param>
<init-param>
<param-name>hank</param-name>
<param-value>hankValue</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>InitParamServlet</servlet-name>
<url-pattern>/servlet/InitParamServlet</url-pattern>
</servlet-mapping>
servlet 提供方法 : getInitParameter(String param) , 返回参数值或null
getInitParameterNames() 返回所有的参数名称,类型为枚举类型
ServletConfig 对象用上面两个方法也可以得到结果, servlet 提供 getServletConfig() 返回ServletConfig对象
web 程序中web-inf 下的文件是受保护的,不能通过浏览器直接访问到
package com.huiti.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class InitParamServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>我是标题</title></head>");
out.println("<body>");
out.println("<form action='"+request.getRequestURI()+"' method='post'>");
out.println("帐号:<input type='text' name='username' style='width:200px'/>");
out.println("密码:<input type='password' name='password' style='width:200px'/>");
out.println("<input type='submit' value='登录'/>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
Enumeration params = this.getInitParameterNames();
while(params.hasMoreElements()) {
String usernameParam = (String) params.nextElement();
String passnameParam = getInitParameter(usernameParam);
if(usernameParam.equals(username)&& passnameParam.equals(password)){
request.getRequestDispatcher("/WEB-INF/notice.jsp").forward(request, response);
return;
}
}
this.doGet(request, response);
}
}
上下文参数:(content-param)
init-param 是配置在 servlet 中的,只能由这个 servlet 调用,要配置 全局的初始化参数,可以配置 上下文参数,也叫文档参数<context-param>
Java WEB开发须知知识点---基础篇
最新推荐文章于 2024-04-18 22:59:13 发布