-
首先判断是否有这个servlet实例,没有的话先调用构造方法创建一个servlet实例并调用init初始化该实例,如果有的话就直接调用service方法,让service方法决定是执行doget还是dopost方法。服务器停止服务就调用destroy方法查看全部
-
通过jsp里面请求的路径找到xml里面的url-pattern,再根据name找到同样name里面的servlet 类,在根据请求的方式调用servlet类里面相应的方法查看全部
-
获取Servlet的初始化参数 1.在web.xml中配置Servlet时,可以配置一些初始化参数,方法如下 <servlet> <init-param> <param-name>password</param-name> <param-value>12345</param-vlaue> <init-param> </servlet> 2.在sevlet中可以通过servletConfig接口提供的方法getInitparameter()来获取这些参数 this.getInitparameter("password");查看全部
-
重定向:response.sendRedirect("test.jsp") //在servlet所在目录下找test.jsp 内部转:request.getRequsetDispatcher("/test.jsp").forward(request,response); //在服务器内部跳转,找test.jsp /表示项目的根目录查看全部
-
servlet是jsp的前身,查看全部
-
sp页面中有相对路径和绝对路径的问题是因为jsp页面其实是一个网页,通过超文本或者action的方式可以连接到任何url,这里的任何url指的是可以是本项目的,或者另外项目的,或者甚至是外部链接,比如你这么写: action =“http://www.baidu.com”,那么这个form的数据就提交给百度了,所以一定要区分相对和绝对路径,默认不加斜杠就是相对路径:当前主机+端口+上下文(项目)+当前目录,那么剩下的就是绝对路径了,你加上斜杠以后web服务器不知道你要把这个form或者url链接到什么地方(万一你要链接同一台服务器上的另外一个工程ServletLoginDemo2)所以web服务器就把/表示主机的根目录,所以你要是写成action="/servlet/Servlet"的话就会让你去访问localhost:8080/servlet/Servlet目录,其实这里还是一个相对路径(是相对于本主机的一个绝对路径)。 而servlet是不能够链接到别的项目的servlet的,所以这里面没有一个相对路径和绝对路径的概念,一定是本项目下的,所以在tomcat得servlet容器的代码里面就是这么实现的,url-patten一定要加上/:host+port+context+servlet-patten组成这个servlet的访问地址,否则启动的时候检查xml就会报错不能启动。查看全部
-
@Servle——(一)Servlet概述——Servlet的路径跳转 一、JSP跳转到Servlet 1、相对路径,如href="servlet/TestServlet" ***注意:如果写成"/servlet/TestServlet"会报错,因为第一个'/'表示的是【服务器根目录:http://localhost:8080/】 2、绝对路径,通过内置成员变量path实现,如href="<%=path%>/servlet/TestServlet"。 ***注意:这里的path得到的是项目根目录,如【http://localhost:8080/Servlet002_GetFormDemo】 二、Servlet跳转JSP 1、请求重定向:response.sendRedirect(request.getContextPath()+"/xxx.jsp");这里通过request.getContextPath()方法获得项目根目录,或者通过"../xxx.jsp"取得上层路径得到 2、服务器内部转发:request.getRequestDispatcher("../xxx.jsp").forward(req,resp); ***小结:都可以通过../xxx.jsp得到查看全部
-
通过Servlet获取表单数据: 1.建立JavaBean类; 2.在Servlet类中的 doPost方法内编写代码; a)实例化JavaBean对象,通过 getParameter(String param);获取表单值,通过 getParameterValues(String param); 获取多个同name的表单值;通过setter()方法给JavaBean对象传值; b)将JavaBean对象保存到session中; c)进行页面跳转。 3.jsp页面中创建Servlet对象,通过<jsp:getProperty />或对象的get()方法获取值。 <jsp:useBean id="idName" class="classPath" scope="session"></jsp:useBean> <jsp:getProperty name=" idName " property="propertyName"/> <% String[] favorites=userReg.getFavorites(); for(String favorite:favorites){ %> <%=favorite %> <% }%> 注意事项: 1.在 jsp 页面中可以使用<% %> 写 java 代码; 2.日期转换时需要注意格式 '-'; 3.复选框需要使用 getParameterValues 方式获取; 4.注意复选框是否为 null ; 5.注意javaBean属性名不与表单属性名冲突!查看全部
-
Jsp内置对象out与servlet中response.getWriter()获得对象并不完全匹配,Jsp中是JspWriter类型,而servlet中获得是PrintWriter类型,其实一个是在Jsp中输出,一个是在servlet中输出,类型肯定不一样; request、response内置对象可以通过service()方法传到doGet()、doPost()里的request、response来获取; session可以通过request.getSession()来获取; application可以通过getServletContext()来获取; exception可以通过Throwable 来获得; page对应this对象; pageContext对象对应PageContext对象; config可以通过getServletConfig()来获取。查看全部
-
九大内置对象查看全部
-
装载ServLet有3种情况。查看全部
-
相对路径:相对于当前资源文件(index.jsp)下的路径。如果在相对路径前多加了一个/,则斜线表示的是根目录。查看全部
-
111查看全部
-
Servlet的装载三种情况: 1、自动装载:某些Servlet如果需要在Servlet容器启动时就加载,需要在web.xml下它的<Servlet>标签里中,添加优先级代码: <Servlet> <load-on-startup>1<load-on-startup> </Servlet> 数字越小表示该servlet的优先级越高,会先于其他自动装载的优先级较低的先装载 2、Servlet容器启动后,客户首次向某个Servlet发送请求时,Tomcat容器会加载它 3、当Servlet类文件被更新后,也会重新自动加载 Servlet是长期驻留在内存里的。某个Servlet一旦被加载,就会长期存在于服务器的内存里,直到服务器关闭 Servlet被装载后,Servlet容器创建一个Servlet实例并且调用Servlet的init()方法进行初始化。在Servlet的整个生命周期内,init()方法只被调用一次查看全部
-
编写Servlet的doPost方法时,需要抛出ServletExcpetion和IOException异常,不是抛出HttpServletException异常。查看全部
举报
0/150
提交
取消