-
servlet生命周期查看全部
-
servlet执行流程查看全部
-
Ps1:路径前缀不写相当于“./”,如“test.jsp”==“./test.jsp” Ps2:<!-- url-pattern处必须以“/”开头,这里的“/”表示项目的根目录 --> Ps3:更新项目名的时候注意,先检查是否在myeclipse 2015的空间包里(不是也没关系其实,最好放在这里面),然后项目——属性——MyEclipse——Project Facets——Web——Web Context-root:(服务器项目名),对应的文件夹在D:\空间名\.metadata\.me_tcat7\work\Catalina\localhost\Xxx——文件夹名就是服务器项目名。(注意:修改文件夹名字并不会修改服务器项目名,而修改Web Context-root才会对服务器项目名起作用)。若是类似myeclipse8.5的版本,则直接在Tomcat——webapps——项目文件夹名即是Web服务器项目名,而且修改文件夹名就会影响Web服务器项目名。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
@index.jsp <!--使用相对路径访问HelloServlet --> <!-- /servlet/HelloServlet 第一个/表示服务器的根目录 --> <a href="servlet/HelloServlet">访问HelloServlet!</a><br> <!-- 使用绝对路径 访问HelloServlet,可以使用path变量:path变量表示项目的根目录--> <a href="<%=path%>/servlet/HelloServlet">访问HelloServlet!</a><br> <!--表单中action的URL地址写法,与超链接方式完全相同。 --> <a href="servlet/TestServlet">访问TestServlet,跳转到Test.jsp</a> @TestServlet.java public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //请求重定向方式跳转到test.jsp,当前路径是ServletPathDirection/servlet/ //response.sendRedirect("test.jsp");//404 //使用request.getContextPath获得上下文对象 //response.sendRedirect(request.getContextPath()+"/test.jsp");//OK //服务器内部跳转,这里的斜线表示项目的根目录 //request.getRequestDispatcher("/test.jsp").forward(request, response);//OK //request.getRequestDispatcher("../test.jsp").forward(request, response);//OK //这两种情况虽然结果路径都一样,但是要根据是否有新创建的文件夹来决定最后路径。这里只是凑巧罢了。 }查看全部
-
@userinfo.jsp <jsp:useBean id="regUser" class="entity.Users" scope="session" /> 性别:<jsp:getProperty name="regUser" property="gender" /> <hr> 生日: <% SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); String date = sdf.format(regUser.getBirthday()); %> <%=date%> <hr> 爱好: <% String[] favorites = regUser.getFavorites(); for (String f : favorites) { %> <%=f%> <% } %> <hr> 自我介绍:<jsp:getProperty name="regUser" property="introduce" /> <hr> 是否接受:<jsp:getProperty name="regUser" property="isflag" /> @RegServlet.java——(下) public void doPost(HttpServletRequest request, HttpServletResponse response) { doGet(request, response); } Ps1: ./ 当前目录 ../ 父级目录 / 根目录 Ps2:Date类型、boolean类型注意下传值判断方式。 Ps3:实体类中boolean类型,getter中不是getXxx(),而是isXxx()。 Ps4:HttpServlet类有两个sevrvice( )方法。我们自己编写的Servlet继承了HttpServlet类,一般只需覆盖doPost或者doGet方法,不必覆盖sevrvice( )方法.因为一个sevrvice( )方法会调用doPost或者doGet方法。不是因为该方法是空,而是因为sevrvice( )方法会调用doPost或者doGet方法。查看全部
-
@RegServlet.java——(上) public void doGet(HttpServletRequest request, HttpServletResponse response) { request.setCharacterEncoding("utf-8"); Users u = new Users(); String gender,introduce; Date birthday; String[] favorites; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//填生日的时候必须要按照这个格式来 gender = request.getParameter("gender"); introduce = request.getParameter("introduce"); try { birthday = sdf.parse(request.getParameter("birthday")); u.setBirthday(birthday); } catch (ParseException e) { e.printStackTrace(); } if(request.getParameterValues("isflag")!=null) { u.setIsflag(true); } else { u.setIsflag(false); } favorites = request.getParameterValues("favorite"); u.setGender(gender); u.setFavorites(favorites); u.setIntroduce(introduce); request.getSession().setAttribute("regUser", u); request.getRequestDispatcher("../userinfo.jsp").forward(request,response); }查看全部
-
@Users.java public class Users { private String gender;//性别 private Date birthday;//生日 private String[] favorites; //爱好 private String introduce; //自我介绍 private boolean isflag; //是否接受协议 public Users() { } ... public boolean isIsflag() { return isflag; } public void setIsflag(boolean isflag) { this.isflag = isflag; } @reg.jsp <form action="servlet/RegServlet" method="post"> 生日: <input name="birthday" type="text" /> <hr> 爱好: <input type="checkbox" name="favorite" value="nba"> NBA <input type="checkbox" name="favorite" value="music"> 音乐 <input type="checkbox" name="favorite" value="movie"> 电影 <hr> 性别: <input type="radio" name="gender" checked="checked" value="Male">男 <input type="radio" name="gender" value="Female">女 <hr> 自我介绍: <br> <textarea name="introduce" rows="10" cols="40"></textarea> <hr> 是否接受: <input type="checkbox" name="isflag"> <hr> <input type="submit" value="提交" /> </form>查看全部
-
@web.xml <servlet> <servlet-name>TestServlet1</servlet-name> <servlet-class>servlet.TestServlet1</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>TestServlet1</servlet-name> <url-pattern>/servlet/TestServlet1</url-pattern> </servlet-mapping> @index.jsp <a href="servlet/TestServlet1">以Get方式请求TestServlet1</a> @第一次启动Tomcat: TestServlet2构造方法被执行... TestServlet2初始方法被执行... TestServlet1构造方法被执行... TestServlet1初始方法被执行... @修改Servlet.java代码(系统自动重启Tomcat): TestServlet2销毁方法被执行... TestServlet1销毁方法被执行... TestServlet2构造方法被执行... TestServlet2初始方法被执行... TestServlet1构造方法被执行... TestServlet1初始方法被执行... 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
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()来获取。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
@TestServlet1.java public class TestServlet1 extends HttpServlet { public TestServlet1() { syso"TestServlet1构造方法被执行..."; } public void destroy() { syso"TestServlet1销毁方法被执行..."; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("TestServlet1的doGet()方法被执行..."); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.println("<HTML>"); ...(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); ...(" <BODY>"); ...("<h1>[修改版]我是TestServlet1</h1>"); ...(" </BODY>"); ...("</HTML>"); out.flush(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { syso"TestServlet1的doPost()方法被执行..."; doGet(request, response); } public void init() throws ServletException { syso"TestServlet1初始方法被执行..."; } } Ps:TestServlet2同理查看全部
-
@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()方法只被调用一次 Ps1:编写Servlet的doPost/doGet方法时,需要抛出异常为throws ServletException, IOException。 Ps2:Servlet文件被更改后自动更新(自动重启Tomcat)。 Ps3:destroy()方法为:停止服务器方法,直接按控制台的暂停终止不会起作用,只能通过停止服务器的方法才能调用。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
servlet执行顺序,构造方法,初始化方法,dogat(),停止服务器进行销毁方法。查看全部
-
@Get方式请求HelloServlet流程 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
Servlet 生命周期: 1、初始化阶段,调用init()方法; 2、响应客户端请求阶段,调用service()方法,由service()方法根据提交方式选择执行doGet()或者doPost()方法; 3、终止阶段,调用destory()方法。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】查看全部
-
servlet的生命周期 servlet的编译后生产的class文件,原理是什么?查看全部
举报
0/150
提交
取消