tomcat简介
Tomcat基本使用
在idea里创建Maven-web项目
集成本地tomcat
在idea中使用Tomcat Maven插件
Servlet
Servlet简介
servlet快速入门
Servlet执行流程
Servlet生命周期
Servlet方法
urlpattern配置
Request和Response介绍
Request继承体系
请求行 请求头 请求体
Request通用方式请求参数
package comitheima;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;
@WebServlet("/req2")
public class ServletTest9 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("get...");
Map<String, String[]> parameterMap = req.getParameterMap();
for(String key:parameterMap.keySet())
{
System.out.print(key+":");
String[]values=parameterMap.get(key);
for (String value : values) {
System.out.print(value+" ");
}
System.out.println();
}
System.out.println();
String[] hobbies = req.getParameterValues("hobby");
for (String hobby : hobbies) {
System.out.println(hobby);
}
String username=req.getParameter("username");
String password = req.getParameter("password");
System.out.println(username);
System.out.println(password);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("post...");
}
}
使用idea创建Servlet
请求参数中文乱码,post请求方案
get处理方法
package comitheima;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class test {
public static void main(String[] args) throws UnsupportedEncodingException {
String encode= URLEncoder.encode("张三","utf-8");
String decode= URLDecoder.decode(encode,"ISO-8859-1");
System.out.println(decode);
// byte[]bytes=decode.getBytes("ISO-8859-1");
// for (byte aByte : bytes) {
// System.out.println(aByte);
// }
// String name=new String(bytes,"utf-8");
// System.out.println(name);
byte[]bytes=decode.getBytes(StandardCharsets.ISO_8859_1);
String name=new String(bytes,StandardCharsets.UTF_8);
System.out.println(name);
}
}
请求转发
可以使用setArribute传递信息
response设置数据响应功能
重定向
资源路径问题
response响应字符数据
package comitheima.response;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/resp4")
public class demo4 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
// response.setHeader("content-type","text/html");
PrintWriter writer = response.getWriter();
writer.write("<h1>文天瑞<h1>");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
response响应字节数据
案例
登录
注册
package com.Comprehensive.web;
import com.Comprehensive.mapper.UserMapper;
import com.Comprehensive.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
@WebServlet("/registerServlet")
public class registerServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username=request.getParameter("username");
String password=request.getParameter("password");
User temuser=new User(1,username,password);
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.selectByUsername(username);
response.setContentType("text/html;charset=utf-8");
PrintWriter writer = response.getWriter();
if(user==null)
{
mapper.add(temuser);
sqlSession.commit();
writer.write("注册成功");
}else
{
writer.write("注册失败,账号名已存在");
}
sqlSession.close();
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
package com.Comprehensive.mapper;
import com.Comprehensive.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
public interface UserMapper {
// @Select("select *from tb_user where username=#{username} and password=#{password}")
User selectid(@Param("username")String username, @Param("password") String password);
@Select("select * from tb_user where username=#{username}")
User selectByUsername(String username);
@Insert("insert into tb_user values(null,#{username},#{password})")
void add(User user);
}
SqlsessionFactory抽取
package com.Comprehensive.util;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class SqlSessionFactoryUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSessionFactory getSqlSessionFactory()
{
return sqlSessionFactory;
}
}