标签:重定向 使用 rate images gen 二进制 变化 快速 el表达式
如何写简单的servlet
1)自定义一个servlet类实现servlet接口,实现接口就意味着实现接口的方法
public class AServlet implements Servlet{}
2)在web.xml文件中注册自定义的servlet
<!-- servlet标签用于向服务器注册一个servlet --> <servlet> <!-- servlet-name是我们使用的,我们使用这个servlet-name对servlet进行配置 --> <servlet-name>AServlet</servlet-name> <!-- servlet-class是自定义servlet的全类名,这个全类名是服务器使用,服务器用这个全类名创建一个servlet实例(对象) --> <servlet-class>com.neuedu.Servlet.AServlet</servlet-class> </servlet> <!-- servlet-mapping是用于做映射请求的 也就是输入什么地址会到当前servlet下处理--> <servlet-mapping> <servlet-name>AServlet</servlet-name> <url-pattern>/AServlet</url-pattern> </servlet-mapping> //注意:<url-pattern>标签中指定的映射路径不必和<servlet-name>指定的内容保持一致 只有浏览器地址栏中请求的url和<url-pattern>标签中的映射一致的时候,我们自定义的servlet类才会处理这个请求
1.转发 --地址不变 只请求一次 不能跨域
request.getRequestDispatcher("要转发到的地址").forward(request,response);//地址栏地址不变
2.重定向 --地址变了 多次请求 可以跨域
response.sendRedirect("要转到的地址");//地址栏地址变了
在jsp页面中写 <form action="abc" method="post"> 用户名<input type="text" name="userid"><br> 密码<input type="password" name="pwd"><br> <input type="submit"> </form>
//action method必须有,method为post或者get,使用get会在地址上显示你输入的值
pageContext.setAttribute("a", "page"); request.setAttribute("a", "request"); session.setAttribute("a", "session"); application.setAttribute("a", "application"); ${ a }//会将四个a全都取出来,但是根据优先级取出pageContext ${requestScope.a }//将取出request,将requestScope中的request换成session就取出session
<servlet> <servlet-name>AServlet</servlet-name> <servlet-class>com.neuedu.Servlet.AServlet</servlet-class> </servlet>
<context-param> <param-name>password</param-name> <param-value>123456</param-value> </context-param>
String initParameter2 = config.getServletContext().getInitParameter("password"); System.out.println(initParameter2);
String initParameter2 = config.getServletContext().getRealPath(servletName); System.out.println(initParameter2);
//getrealpath()获取真实路径
HttpServlet
public CServlet() { super(); // TODO Auto-generated constructor stub } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("doGet请求"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }
request.getRequestDispatcher("1.html").forward(request, response);//通过request跳转到1.html
response.getWriter().println("<h3>hello world!</h3>");//可以返回给浏览器一个页面或者一个页面片段! response.sendRedirect("/day0807-servlet/1.html");//服务器返给浏览器地址,浏览器需要再次访问服务器给的地址
|
发生在浏览器端还是服务器端
|
浏览器的请求次数
|
浏览器地址栏是否发生变化
|
浏览器是否能够感知到
|
request
|
服务器端
|
1
|
不变化
|
感知不到
|
response
|
浏览器端
|
2
|
发生变化
|
感知到
|
标签:重定向 使用 rate images gen 二进制 变化 快速 el表达式
原文地址:http://www.cnblogs.com/lwj-0923/p/7352881.html