-
servlet容器管理context容器,一个context容器对应一个web工程
查看全部 -
1、什么是servlet?
servlet实在服务器上运行的小程序,一个servlet就是一个Java类,并且可以通过“请求-响应”编程模型来访问这个驻留在服务器内存里的servlet程序。
查看全部 -
编写Servlet的doPost方法时,需要抛出ServletExcpetion和IOException异常,不会抛出HttpServletException异常。
查看全部 -
<servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>org.javathinker.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>
localhost是服务器主机名,也可以是IP地址127.0.0.1;8080是tomcat服务器的端口号;helloapp是web工程的上下文地址ContexRoot(一般情况下与web工程名一致);最后是<url-pattern/>标签中的内容。
查看全部 -
Servlet 基础:
手工编写一个servlet:
① 继承HttpServlet
② 重写doGet()或者doPost()方法
③ 在web.xml中注册servlet
查看全部 -
@JavaWeb---不添加重复商品
@Override public int hashCode() { //若getId和getName相同,则hashCode一定相同 return this.getId()+this.getName().hashCode(); } @Override public boolean equals(Object obj) { if(this==obj){ return true; } if(obj instanceof Items){ Items i = (Items)obj; if(this.getId()==i.getId()&&this.getName().equals(i.getName())){ return true; }else{ return false; } }else{ return false; } }
查看全部 -
@JavaWeb---Model2
查看全部 -
@JavaWeb---MVC
MVC模式(Controller,Moderl,View):是软件开发过程中比较流行的设计思想。旨在分离模型、控制、视图。是一种分层思想的体现。
查看全部 -
@JavaWeb---获取初始化参数
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("uesrname");
this.getInitparameter("password");查看全部 -
@JavaWeb---Servlet路径跳转
一、JSP跳转到Servlet
1.相对路径,如href="servlet/TestServlet"
如果写成"/servlet/TestServlet"会报错,因为第一个“/”表示的是【服务器根目录】
2.绝对路径,通过内置成员变量path实现,如href="<%=path%>/servlet/TestServlet"
path得到的是项目根目录,如【http://localhost:8080/ServletDemo】二、Servlet跳转JSP
1.请求重定向:response.sendRedirect(request.getContextPath()+"/xxx.jsp");
request.getContextPath()获得项目根目录,或者通过"../xxx.jsp"取得上层路径得到
2.服务器内部转发:
request.getRequestDispatcher("../xxx.jsp").forward(req,resp);
request.getRequestDispatcher("/test.jsp").forward(request, response); //斜线表示项目的根目录
小结:Servlet都可以通过../xxx.jsp获取路径三、web.xml的路径
web.xml的<url-pattern>必须以“/”开头,“/”表示项目的根目录查看全部 -
@JavaWeb---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 %>
<% }%>PS:
1.在 jsp 页面中可以使用<% %> 写 java 代码;
2.日期转换时需要注意格式 '-';
3.复选框需要使用 getParameterValues 方式获取;
4.注意复选框是否为 null ;
5.注意javaBean属性名不与表单属性名冲突!查看全部 -
@JavaWeb---Servlet与九大内置对象
out返回JspWriter类型,而resp.getWriter返回PrintWriter类型,不同;
request、response通过service()方法中的req、resp来获取;
session可以通过request.getSession()来获取;
application可以通过getServletContext()来获取;
exception可以通过Throwable 来获得;
page对应this对象;
pageContext对象对应PageContext对象;
config可以通过getServletConfig()来获取。查看全部 -
@JavaWeb---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()方法只被调用一次。查看全部 -
@JavaWeb---Servlet执行流程
1.提交超链接请求后,服务器会在web.xml中的<servlet-mapping>寻找对应的url(url-pattern)地址,然后得到这个servlet的名称。
2.得到名称后,在servlet中寻找名称相同的标签,然后得到处理类(servlet-class文件)
3.进入servlet处理类,根据请求方式(get或者post)执行d(oGet或者doPost)方法查看全部 -
@JavaWeb---Servlet生命周期
1.客户端发送请求给服务器。
2.服务器开始接受,先判断该请求的servlet实例是否存在,如果不存在先装载一个servlet类并创建实例。
如果存在则直接调用该servlet的service方法,之后进行判断是调用doGet方法还是doPost方法。
3.servlet创建实例后,调用init方法进行初始化。
4.调用service方法,判断是调用doGet方法还是doPost方法。
4.最后判断服务是否关闭,如果关闭则调用destroy方法。查看全部
举报