赞
踩
1.直接到Tomcat官网目下进行下载【下载完成后直接解压即可】
2.在安装目录中打开bin目录找到startup.bat,双击启动
3.在浏览器的地址栏中输入:localhost:8080/127.0.0.1:8080 访问即可
4.tomcat的配置方式与Java的JDK配置方式是一样的
闪退现象:双击startup.bat文件时,黑窗口一闪而过。
通常是因为JDK环境配置不符合规范,tomcat在运行时会自动去系统环境中去查找一个叫JAVA_HOME的变量
启动报错:通常是因为指定的端口服务已经启动了,再次启动时就会出现该问题
特殊情况:电脑刚重启,就打开了一个tomcat的启动选项,仍然提示端口被占用,可能是因为系统中有其他的应用占用了默认的8080端口
1.查找所有端口号对应的服务
2.关闭该端口号对应的应用服务id(PID)
命令:taskkill /f /t /im "PID的值"
taskkill /f /t /im "1648"
软件系统架构指的是要开发的软件对应的方向(web端、移动端),主要有两种架构,B/S及C/S架构
B/S架构:browser and Server 浏览器与服务器架构模式,例如:天猫、京东、后台管理类,简单点说:在网页端运行的都是B/S架构
优缺点:携带不方便、不需要下载、不需要频繁更新、数据都在服务器上(安全)
C/S架构:Client and Server 客户端与服务器架构模式,例如:微信、钉钉、qq、王者等,简单点说:手机上运行的APP都是C/S架构
优缺点:携带方便、需要下载、频繁更新、数据再客户端上存储(不安全)、效率高、速度快
jsp是一个动态网页标准技术,允许在前端的页面中嵌入Java代码,jsp的执行原理:先进行翻译,在进行编译,最后执行
语法 | 描述 |
---|---|
<%%> | 小脚本(嵌入java代码) |
<%=%> | 在网页中输出java变量 |
<%!%> | 在网页中定义方法 |
<%@ %> | 指令 |
jsp中默认支持的对象,可以直接拿来使用的
对象名 | 描述 |
---|---|
out | 网页输出对象 |
page | 当前页对象 |
request | 请求对象 |
response | 响应对象 |
session | 会话 |
application | 全局对象(上下文对象) |
exception | 异常处理对象 |
pageContext | 页面上下文对象 |
config | 配置对象 |
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>jsp</title>
</head>
<body>
hello jsp!!
<hr>
jsphaha
</body>
</html>
idea中配置Tomcat
给Tomcat服务配置需要运行的项目
<%
String str = "haha";
//使用out对象输出,只能在脚本中使用
out.print(str);
%>
<%--还可以结合前端使用--%>
str:<%=str %>
求最大值
<%!
public int max(int x,int y){
return x>y?x:y;
}
%>
最大值:<%=max(5,6) %>
jsp显示当前日期
<%@ page import="java.util.Date,java.text.SimpleDateFormat" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% //在网页中显示当前的日期 Date date = new Date(); //对日期进行格式化操作 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String showTime = sdf.format(date); %> 当前时间为:<%=showTime%> </body> </html>
用户发送的所有的请求都是通过request对象实现,request中携带了请求的地址、参数等等
方法名 | 描述 |
---|---|
getParameter(String key) | 获取参数 |
setCharacterEncoding(String encoding) | 设置请求编码 |
getRequestDispatch(String path).forward(req,resp) | 请求转发 |
登录案例(用户发送登录请求,后台获取用户发送的请求参数)
//login.jsp
<%--
action指定表单信息发送的服务器地址
method指定发送请求的方式
--%>
<form action="control.jsp">
<input type="text" name="uname" placeholder="请输入用户名">
<input type="password" name="pwd" placeholder="请输入密码">
<input type="submit" value="登录">
</form>
//control.jsp
//获取请求中携带的信息
String uname = request.getParameter("uname");
String pwd = request.getParameter("pwd");
中文乱码处理方案
//中文乱码处理方案1(get请求):new String(uname.getBytes("ISO-8859-1"),"utf-8") 示例:uname = new String(uname.getBytes("ISO-8859-1"),"utf-8"); //中文乱码处理方案2(post请求) 示例:request.setCharacterEncoding("utf-8") //中文乱码处理方案2(修改tomcat配置) <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URLEncoding="utf-8"/>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
请求转发:将该请求转发给其他控制层处理,用户发送的一次请求,进行了多次转发
例如:小张需要一万块,自己没钱,他向支付宝借了一万块,但支付宝本身是没钱的,但是支付宝向银行借了一万块给了小张
//判断用户信息是否正确,转发到对应的页面
if("admin".equals(uname)){
//请求转发到success.jsp
request.getRequestDispatcher("success.jsp").forward(request,response);
}else{
request.getRequestDispatcher("error.jsp").forward(request,response);
}
request特点
1.一次请求,多次转发
2.请求转发后,地址栏中的地址不发生改变
3.request请求转发可以携带参数
通过request对象设置参数
//设置参数
request.setAttribute("msg","登录成功");
//获取参数
Object msg = request.getAttribute("msg");
request中getParameter()和getAttribute()区别
<%
//getParameter()用于获取表单或直接在地址栏中拼接的参数
String uname = request.getParameter("uname");
//getAttribute()只能获取通过setAttribute()设置的参数
Object msg = request.getAttribute("msg");
%>
response作为服务端响应给客户端的过程,仅仅只是将服务端的请求重定向给了另一个地址
例如:小张向小王借一万,小王说我没有,你可以向支付宝借,小张就向支付宝借了一万
方法名 | 描述 |
---|---|
sendRedirect(url) | 重定向 |
登录案例(需要注意重定向时地址栏中的变化及参数携带问题)
<%
String uname = request.getParameter("uname");
String pwd = request.getParameter("pwd");
if("admin".equals(uname)){
//重定向
response.sendRedirect("success.jsp");
}else{
response.sendRedirect("error.jsp");
}
%>
response的特点
1.至少两次请求
2.地址栏中的地址会发生改变
3.不能携带参数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。