javaweb基础

javaweb基础

1、什么是javaweb

Java Web,是用Java技术来解决相关web互联网领域的技术栈

1.1 静态web是什么

指web页面中供人们浏览的数据始终是不变。

1.2 动态web

指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同

2 、什么是tomcat

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器
简单一句话说:就是免费的服务器

3 、什么是maven

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
可以用于导入jar包

3.1、配置maven

3.2、为什么配置maven镜像

因为我们都是在外国下载资源(所以很慢)
因此我们我们需要配置maven镜像

3.2、配置maven镜像
nexus-aliyun * Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public
3.3、配置maven本地仓库

D:\maven\MyRepository

4、servlet

4.1什么是servlet

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

4.2怎么使用servlet

java直接继承httpservlet接口

可以通过doGet ,doPut来对网页进行操作

4.3web进行咉射

来配置网页的位置

5、ServletContext

5.1什么是ServletContext

web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用;

5.2、ServletContext的用法

获取参数,转发

`public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {   
//this.getInitParameter()   初始化参数
    //this.getServletConfig()   Servlet配置
    //this.getServletContext()  Servlet上下文
    ServletContext context = this.getServletContext();

    String username = "dsak"; //数据
    context.setAttribute("username",username); //将一个数据保存在了ServletContext中,名字为:username 。值 username

}
    
    `public class GetServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletContext context = this.getServletContext();
       String username = (String) context.getAttribute("username");
    resp.setContentType("text/html");
    resp.setCharacterEncoding("utf-8");
    resp.getWriter().print("名字"+username);

}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    doGet(req, resp);
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    ServletContext context = this.getServletContext();
    String url = context.getInitParameter("url");
    resp.getWriter().print(url);
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    ServletContext context = this.getServletContext();
    System.out.println("进入了ServletDemo04");
    //RequestDispatcher requestDispatcher = context.getRequestDispatcher("/gp"); //转发的请求路径
    //requestDispatcher.forward(req,resp); //调用forward实现请求转发;
    context.getRequestDispatcher("/gp").forward(req,resp);
}

5.2HttpServletRequest

5.2.1什么是HttpServletRequest

用来处理一个对Servlet的HTTP格式的请求信息。

5.2.2方法

getParameterNames():取得客户端所发出的请求参数名称.

getParameter():可以让您指定请求参数名称,以取得对应的设定值.

getServerName():请求的服务器.

getProtocol():使用协议.

getMethod():请求方法.

getServerPort():请求端口号.

getContextPath():Context路径.

getServletPath(): Servlet路径.

getRequestURI():URI路径.

getQueryString():查询字符串.

getRemoteAddr():使用者主机IP.

getRemotePort():使用者使用端口号.

getAuthType

public String getAuthType();

返回这个请求的身份验证模式。

getCookies

public Cookie[] getCookies();

返回一个数组,该数组包含这个请求中当前的所有cookie。如果这个请求中没有cookie,返回一个空数组

getDateHeader

public long getDateHeader(String name);

返回指定的请求头域的值,这个值被转换成一个反映自1970-1-1日(GMT)以来的精确到毫秒的长整数。

如果头域不能转换,抛出一个IllegalArgumentException。如果这个请求头域不存在,这个方法返回-1。

getHeader

public String getHeader(String name);

返回一个请求头域的值。(译者注:与上一个方法不同的是,该方法返回一个字符串)

如果这个请求头域不存在,这个方法返回-1。

getHeaderNames

public Enumeration getHeaderNames();

该方法返回一个String对象的列表,该列表反映请求的所有头域名。

有的引擎可能不允许通过这种方法访问头域,在这种情况下,这个方法返回一个空的列表。

getIntHeader

public int getIntHeader(String name);

返回指定的请求头域的值,这个值被转换成一个整数。

如果头域不能转换,抛出一个IllegalArgumentException。如果这个请求头域不存在,这个方法返回-1。

getMethod

public String getMethod();

返回这个请求使用的HTTP方法(例如:GET、POST、PUT)

getPathInfo

public String getPathInfo();

这个方法返回在这个请求的URL的Servlet路径之后的请求URL的额外的路径信息。如果这个请求URL包括一个查询字符串,在返回值内将不包括这个查询字符串。这个路径在返回之前必须经过URL解码。如果在这个请求的URL的Servlet路径之后没有路径信息。这个方法返回空值

getPathTranslated

public String getPathTranslated();

这个方法获得这个请求的URL的Servlet路径之后的额外的路径信息,并将它转换成一个真实的路径。在进行转换前,这个请求的URL必须经过URL解码。如果在这个URL的Servlet路径之后没有附加路径信息。这个方法返回空值

getQueryString

public String getQueryString();

返回这个请求URL所包含的查询字符串。一个查询字串符在一个URL中由一个“?”引出。如果没有查询字符串,这个方法返回空值。

getRemoteUser

public String getRemoteUser

返回作了请求的用户名,这个信息用来作HTTP用户论证。

如果在请求中没有用户名信息,这个方法返回空值。

getRequestedSessionId

public String getRequestedSessionId();

返回这个请求相应的session id。如果由于某种原因客户端提供的session id是无效的,这个session id将与在当前session中的session id不同,与此同时,将建立一个新的session。

如果这个请求没与一个session关联,这个方法返回空值。

getRequestURL

public String getRequestURL();

HTTP请求的第一行返回请求的URL中定义被请求的资源的部分。如果有一个查询字符串存在,这个查询字符串将不包括在返回值当中。例如,一个请求通过/catalog/books?id=1这样的URL路径访问,这个方法将返回/catalog/books。这个方法的返回值包括了Servlet路径和路径信息。

如果这个URL路径中的的一部分经过了URL编码,这个方法的返回值在返回之前必须经过解码。

getServletPath

public String getServletPath();

这个方法返回请求URL反映调用Servlet的部分。例如,一个Servlet被映射到/catalog/summer这个URL路径,而一个请求使用了/catalog/summer/casual这样的路径。所谓的反映调用Servlet的部分就是指/catalog/summer。

如果这个Servlet不是通过路径匹配来调用。这个方法将返回一个空值。

getSession

public HttpSession getSession();

public HttpSession getSession(boolean create);

返回与这个请求关联的当前的有效的session。如果调用这个方法时没带参数,那么在没有session与这个请求关联的情况下,将会新建一个session。如果调用这个方法时带入了一个布尔型的参数,只有当这个参数为真时,session才会被建立。

为了确保session能够被完全维持。Servlet开发者必须在响应被提交之前调用该方法。

如果带入的参数为假,而且没有session与这个请求关联。这个方法会返回空值。

isRequestedSessionIdValid

public boolean isRequestedSessionIdValid();

这个方法检查与此请求关联的session当前是不是有效。如果当前请求中使用的session无效,它将不能通过getSession方法返回。

isRequestedSessionIdFromCookie

public boolean isRequestedSessionIdFromCookie();

如果这个请求的session id是通过客户端的一个cookie提供的,该方法返回真,否则返回假。

isRequestedSessionIdFromURL

public boolean isRequestedSessionIdFromURL();

如果这个请求的session id是通过客户端的URL的一部分提供的,该方法返回真,否则返回假。请注意此方法与isRequestedSessionIdFromUrl在URL的拼写上不同。

以下方法将被取消

isRequestedSessionIdFromUrl

public boolean isRequestedSessionIdFromUrl();

该方法被isRequestedSessionIdFromURL代替。

getParameter(String)方法**(常用)**

getParameterValues(String name)方法**(常用)**

getParameterNames()方法(不常用)

getParameterMap()方法**(编写框架时常用)**

5.3、HttpServletResponse

5.3.1、什么是HttpServletResponse

HttpServletResponse对象是有关于对客户端请求之响应,您可以利用它来设定一些要响应的讯息,例如标题信息、响应状态码等.

5.3.2 、HttpServletRespose常用的方法

setHeader():是一个通用的标头设定方法,您可以用它来设定任何「名称/值」的标头.

setIntHeader():是专门用来设定整数值标头的版本.

setDateHeader():是setHeader()的Date设定版本,第二个参数是设定Date的Long数值,0表示GMT 1970/1/1 00:00。

(Note:以上3个函数用来设置HTTP协议的表头,必须对HTTP协议有些了解才能正确使用).

setStatus():是用来设定回应的状态码,例如404 Not Found,HttpServletResponse类中提供了一些助忆常数设定,例如SC_NOT_FOUND就是表示404状态码(可以在Servlet API文件中查询相关的助忆常数).

sendError():会根据服务器的预设错误网页回报方式显示错误讯息.

sendRedirect():设置重定向页面.

getWriter():取得PrintWriter对象,由它来写出响应至服务器的本体信息.

6、cookie,Session

6.1、什么是cookie

储存在用户本地终端上的数据

6.2、cookie的常用方法

方法名称说明
void setMaxAge(int expiry)设置cookie的有效期,以秒为单位
void setValue(String value)在cookie创建后,为cookie赋予新的值
String geyName()获取cookie的名称
String getValue()获取cookie的值
int getMaxAge()获取cookie的有效时间,以秒为单位

一个网站cookie是否存在上限!聊聊细节问题

  • 一个Cookie只能保存一个信息;
  • 一个web站点可以给浏览器发送多个cookie,最多存放20个cookie;
  • Cookie大小有限制4kb;
  • 300个cookie浏览器上限

6.3、什么是Session

Session是指存储特定用户会话所需的属性及配置信息

6.4、Session的常用方法

方法名称说明
public void setAttribute(String name,String value)设定指定名字的属性的值,并将它添加到session会话范围内,如果这个属性是会话范围内存在,则更改该属性的值。
public Object getAttribute(String name)在会话范围内获取指定名字的属性的值,返回值类型为object,如果该属性不存在,则返回null。
public void removeAttribute(String name)删除指定名字的session属性,若该属性不存在,则出现异常。
public void invalidate()使session失效。可以立即使当前会话失效,原来会话中存储的所有对象都不能再被访问。
public String getId( )获取当前的会话ID。每个会话在服务器端都存在一个唯一的标示sessionID,session对象发送到浏览器的唯一数据就是sessionID,它一般存储在cookie中。
public void setMaxInactiveInterval(int interval)设置会话的最大持续时间,单位是秒,负数表明会话永不失效。
public int getMaxInActiveInterval()获取会话的最大持续时间,使用时候需要一些

6.4、session和cookie的区别

session 和 cookie 的作用有点类似,都是为了存储用户相关的信息。 不同的是, cookie 是存储在本地浏览器,而 session 存储在服务器。 存储在服务器的数据会更加的安全,不容易被窃取。

7、jsp

7.1、什么是jsp

JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。

<html>
    <head>
           <title>第一个 JSP 程序</title>
    </head>
    <body>
           <%
                  out.println("Hello World!");
           %>
    </body>
</html>

7.2、jsp九大内置对象

  • PageContext 存东西
  • Request 存东西
  • Response
  • Session 存东西
  • Application 【SerlvetContext】 存东西
  • config 【SerlvetConfig】
  • out
  • page
  • exception

7.2.1、内置对象的周期

Application>Session>Request >PageContext

8、过滤器

8.1、什么是过滤器

Filter:过滤器 ,用来过滤网站的数据;

8.2过滤器的使用方法

继承过滤器的接口

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值